def signature_vectors(): TestVector = namedtuple( "TestVector", """data signature hash_cls pub_key priv_key""") TestVector.__new__.__defaults__ = (None, ) * len(TestVector._fields) vectors = [] with open(os.path.join(certs_dir, "server-keyPub.pem"), "rb") as f: pub_key_pem = f.read() with open(os.path.join(certs_dir, "server-key.pem"), "rb") as f: priv_key_pem = f.read() # Signature computed with: # echo -n "wolfcrypt is the best crypto around" | \ # openssl dgst -hex -sha256 -sign tests/certs/server-key.pem if _lib.ASN_ENABLED and _lib.SHA256_ENABLED and _lib.RSA_ENABLED: vectors.append( TestVector( data="wolfcrypt is the best crypto around", signature=h2b( "1d65f21df8fdc9f3c2351792840423481c6b0f2332105abd9248" "9e0dc8f6f8c740e267cf49f522f771eabd484f961eaf9f907c97" "b513bb9de7411b508c4e7ab7dc4438890ca161a9e24addaffd3c" "86821f2431f55fde5d131dfbe5805dea74e8882bfbfbf451f809" "ed792dfb0b17c799e6a39f866ed9cf613138c9e5e99f757ea13a" "2b9c167c294cd89f38365ab40175d4e29c24d672cd5ad2d57fec" "e9ea2b29c1866235c791ec5b635b858512c2b832b1b8f1dc6854" "cd4927df5519eefee439848c7f109548b3a3c8265658e009899a" "51a4edaf9f1199f93e448482f27c43a53e0bc65b04e9848128e3" "60314e864190e6bb9812bfbf4b40994f2c1d4ca7aad9"), hash_cls=Sha256, pub_key=RsaPublic.from_pem(pub_key_pem), priv_key=RsaPrivate.from_pem(priv_key_pem))) return vectors
def rsa_private_pem(vectors): with open(vectors[RsaPrivate].pem, "rb") as f: pem = f.read() return RsaPrivate.from_pem(pem)