added a function to return the public key string from a keypair object
[sfa.git] / sfa / trust / certificate.py
index 4815ebc..4a17338 100644 (file)
@@ -26,7 +26,7 @@ from M2Crypto import EVP
 from sfa.util.faults import *
 
 def convert_public_key(key):
-    keyconvert_path = "/usr/share/keyconvert/keyconvert"
+    keyconvert_path = "/usr/bin/keyconvert"
     if not os.path.isfile(keyconvert_path):
         raise IOError, "Could not find keyconvert in %s" % keyconvert_path
 
@@ -162,11 +162,21 @@ class Keypair:
    def as_pem(self):
       return crypto.dump_privatekey(crypto.FILETYPE_PEM, self.key)
 
+   ##
+   # Return an M2Crypto key object
+
    def get_m2_pkey(self):
       if not self.m2key:
          self.m2key = M2Crypto.EVP.load_key_string(self.as_pem())
       return self.m2key
 
+   ##
+   # Returns a string containing the public key represented by this object.
+
+   def get_pubkey_string(self):
+      m2pkey = self.get_m2_pkey()
+      return base64.b64encode(m2pkey.as_der())
+
    ##
    # Return an OpenSSL pkey object