def load_publickey(cls,party='',x509=None):
     if x509 == None:
         x509 = cls.load_cert(party)
     r = x509.get_pubkey().get_rsa()
     ret = RSA.RSA_pub( r.rsa )
     ret.container= r
     return ret 
 def testCert(self):
     r=rsa(CXTest.PARTIES[0])
     print r.cert
     x=X509.load_cert(r.cert )       #X509.X509
     pub = x.get_pubkey().get_rsa()  #RSA.RSA
     rsa_pub = RSA.RSA_pub(pub.rsa)  #RSA.RSA_pub
     print rsa_pub.public_encrypt('data', RSA.pkcs1_padding)
     return True
Example #3
0
 def _generate_new_key(self):
     if self._using_m2crypto:
         self._private_key = M2RSA.gen_key(2048, 65537, lambda x,y,z: None)
         self._public_key = M2RSA.RSA_pub(self._private_key.rsa)
     else:
         try:
             (self._public_key, self._private_key) = PYRSA.newkeys(2048, poolsize=4)
         except:
             (self._public_key, self._private_key) = PYRSA.newkeys(2048)
Example #4
0
    def get_rsa(self):
        # type: () -> RSA.RSA_pub
        """
        Return the underlying RSA key if that is what the EVP
        instance is holding.
        """
        rsa_ptr = m2.pkey_get1_rsa(self.pkey)

        rsa = RSA.RSA_pub(rsa_ptr, 1)
        return rsa
Example #5
0
    def get_rsa(self):
        """
        Return the underlying RSA key if that is what the EVP
        instance is holding.
        """
        rsa_ptr = m2.pkey_get1_rsa(self.pkey)
        if rsa_ptr is None:
            raise ValueError("PKey instance is not holding a RSA key")

        rsa = RSA.RSA_pub(rsa_ptr, 1)
        return rsa
Example #6
0
    def set_private_key_string(self, private_key_string):

        # convert from unicode, as this can throw off the key parsing
        private_key_string = str(private_key_string)

        private_key_string = add_pem_headers(private_key_string, "RSA PRIVATE KEY")
        
        if self._using_m2crypto:
            self._private_key = M2RSA.load_key_string(private_key_string)
            self._public_key = M2RSA.RSA_pub(self._private_key.rsa)
        else:
            self._private_key = PYRSA.PrivateKey.load_pkcs1(private_key_string)
Example #7
0
 def _set_private_key_string(self, private_key_string):
     self._private_key = M2RSA.load_key_string(self.ensure_bytes(private_key_string))
     self._public_key = M2RSA.RSA_pub(self._private_key.rsa)
Example #8
0
 def generate_new_key(self, keysize=2048):
     self._private_key = M2RSA.gen_key(keysize, 65537, lambda x,y,z: None)
     self._public_key = M2RSA.RSA_pub(self._private_key.rsa)