'@param snName: The name of the curve as used by C{OBJ_sn2nid}.
@param snName: L{unicode}
@raises NotImplementedError: If ECC support is not available.
@raises ValueError: If C{snName} is not a supported curve.'

def __init__(self, snName):

    self.snName = nativeString(snName)
    try:
        binding = self._getBinding()
        self._lib = binding.lib
        self._ffi = binding.ffi
        self._nid = self._lib.OBJ_sn2nid(self.snName.encode('ascii'))
        if (self._nid == self._lib.NID_undef):
            raise ValueError('Unknown    ECC    curve.')
    except AttributeError:
        raise NotImplementedError('This    version    of    pyOpenSSL    does    not    support    ECC.')
