Example #1
0
 def toDER_PrivateKey(self):
     derPrivKey = DerSequence()
     derPrivKey[:] = [ 0, 
                       self.key.n, 
                       self.key.e, 
                       self.key.d, 
                       self.key.q, 
                       self.key.p,
                       self.key.d % (self.key.q-1),
                       self.key.d % (self.key.p-1), 
                       self.key.u ]
     return derPrivKey.encode()
Example #2
0
 def fromPEM_PublicKey(self, publicKeyData):
     try:
         key64 = ''
         for line in publicKeyData.splitlines():
             if line.count('BEGIN RSA PUBLIC KEY') or line.count('END RSA PUBLIC KEY'):
                 continue
             key64 += line.strip()
         pubSeq = DerSequence()
         pubSeq.decode(b64decode(key64))
         self.key = RSA.construct( (pubSeq[0], pubSeq[1]) )
     except:
         raise RSAError, 'unable to load object from data'            
Example #3
0
 def toPEM_PublicKey(self):
     pemSeq = DerSequence()
     pemSeq[:] = [ self.key.key.n, self.key.key.e ]
     s = b64encode(pemSeq.encode())
     src = '-----BEGIN RSA PUBLIC KEY-----\n'
     while True:
         src += s[:64] + '\n'
         s = s[64:]
         if s == '':
             break
     src += '-----END RSA PUBLIC KEY-----'
     return src
Example #4
0
 def toDER_PublicKey(self):
     derPK = DerSequence()
     derPK[:] = [ self.key.key.n, self.key.key.e ]
     return derPK.encode()
Example #5
0
 def fromPKey_PublicKey(self, pkey):
     src = dump_privatekey(FILETYPE_ASN1, pkey)
     pub_der = DerSequence()
     pub_der.decode(src)
     self.key = RSA.construct((long(pub_der._seq[1]), long(pub_der._seq[2])))