https://github.com/tahoe-lafs/pycryptopp/issues/42 --- old/src/pycryptopp/cipher/aesmodule.cpp +++ old/src/pycryptopp/cipher/aesmodule.cpp @@ -20,6 +20,8 @@ #include #endif +typedef unsigned char byte; + static const char*const aes___doc__ = "_aes counter mode cipher\n\ You are advised to run aes.start_up_self_test() after importing this module."; --- old/src/pycryptopp/cipher/xsalsa20module.cpp +++ old/src/pycryptopp/cipher/xsalsa20module.cpp @@ -16,6 +16,8 @@ #include #endif +typedef unsigned char byte; + static const char* const xsalsa20__doc__ = "_xsalsa20 cipher"; static PyObject *xsalsa20_error; --- old/src/pycryptopp/hash/sha256module.cpp +++ old/src/pycryptopp/hash/sha256module.cpp @@ -21,6 +21,8 @@ #include #endif +typedef unsigned char byte; + static const char*const sha256___doc__ = "_sha256 hash function"; static PyObject *sha256_error; --- old/src/pycryptopp/publickey/rsamodule.cpp +++ old/src/pycryptopp/publickey/rsamodule.cpp @@ -87,7 +87,7 @@ VerifyingKey_serialize(VerifyingKey *self, PyObject *dummy) { std::string outstr; StringSink ss(outstr); - self->k->DEREncode(ss); + self->k->GetMaterial().Save(ss); PyStringObject* result = reinterpret_cast(PyString_FromStringAndSize(outstr.c_str(), outstr.size())); if (!result) return NULL; @@ -216,7 +216,7 @@ SigningKey_serialize(SigningKey *self, PyObject *dummy) { std::string outstr; StringSink ss(outstr); - self->k->DEREncode(ss); + self->k->GetMaterial().Save(ss); PyStringObject* result = reinterpret_cast(PyString_FromStringAndSize(outstr.c_str(), outstr.size())); if (!result) return NULL;