Search code examples
pythonopensslpyopenssl

get public key from private key with python OpenSSL


Well, I generate a private key with pyOpenSSL as follows:

from OpenSSL import crypto
k = crypto.PKey()
k.generate_key(crypto.TYPE_RSA, 2048)
print crypto.dump_privatekey(crypto.FILETYPE_PEM, k)

How do I get the public key string from it? I've still not found what method of this library does it. Thanks


Solution

  • If

    cert = crypto.dump_certificate(crypto.FILETYPE_PEM, k)
    

    doesn't do what you want, then it doesn't look like pyOpenSSL supports public key dumping. There is an unmerged branch here that adds that functionality but I can't claim that it does what is purports.