def __init__(self): self._binding = Binding() self._ffi = self._binding.ffi self._lib = self._binding.lib self._cipher_registry = {} self._register_default_ciphers() self._hash_mapping = { "md5": HashMethods( "CC_MD5_CTX *", self._lib.CC_MD5_Init, self._lib.CC_MD5_Update, self._lib.CC_MD5_Final ), "sha1": HashMethods( "CC_SHA1_CTX *", self._lib.CC_SHA1_Init, self._lib.CC_SHA1_Update, self._lib.CC_SHA1_Final ), "sha224": HashMethods( "CC_SHA256_CTX *", self._lib.CC_SHA224_Init, self._lib.CC_SHA224_Update, self._lib.CC_SHA224_Final ), "sha256": HashMethods( "CC_SHA256_CTX *", self._lib.CC_SHA256_Init, self._lib.CC_SHA256_Update, self._lib.CC_SHA256_Final ), "sha384": HashMethods( "CC_SHA512_CTX *", self._lib.CC_SHA384_Init, self._lib.CC_SHA384_Update, self._lib.CC_SHA384_Final ), "sha512": HashMethods( "CC_SHA512_CTX *", self._lib.CC_SHA512_Init, self._lib.CC_SHA512_Update, self._lib.CC_SHA512_Final ), } self._supported_hmac_algorithms = { "md5": self._lib.kCCHmacAlgMD5, "sha1": self._lib.kCCHmacAlgSHA1, "sha224": self._lib.kCCHmacAlgSHA224, "sha256": self._lib.kCCHmacAlgSHA256, "sha384": self._lib.kCCHmacAlgSHA384, "sha512": self._lib.kCCHmacAlgSHA512, } self._supported_pbkdf2_hmac_algorithms = { "sha1": self._lib.kCCPRFHmacAlgSHA1, "sha224": self._lib.kCCPRFHmacAlgSHA224, "sha256": self._lib.kCCPRFHmacAlgSHA256, "sha384": self._lib.kCCPRFHmacAlgSHA384, "sha512": self._lib.kCCPRFHmacAlgSHA512, }
def test_binding_returns_same_lib(self): binding = Binding() binding2 = Binding() assert binding.lib == binding2.lib assert binding.ffi == binding2.ffi
def test_binding_loads(self): binding = Binding() assert binding assert binding.lib assert binding.ffi