]> www.wagner.pp.ru Git - oss/ctypescrypto.git/blobdiff - tests/testpkey.py
Added tests for X509Store certificate verification
[oss/ctypescrypto.git] / tests / testpkey.py
index 4b556039b1b3929f0a3d9e0a2f3b6f9f22afdfd3..00aee7a506bd9445518a57ffd18a62e87189efb9 100644 (file)
@@ -8,7 +8,7 @@ def pem2der(s):
        data=s[start+6:finish]
        return b64decode(data)
 
-class TestReadPkey(unittest.TestCase):
+class TestPKey(unittest.TestCase):
        rsa="""-----BEGIN PRIVATE KEY-----
 MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAL9CzVZu9bczTmB8
 776pPUoPo6WbAfwQqqiGrj91bk2mYE+MNLo4yIQH45IcwGzkyS8+YyQJf8Bux5BC
@@ -39,11 +39,11 @@ Modulus:
     1b:a4:85:ab:b0:87:7b:78:2f
 Exponent: 65537 (0x10001)
 """
-       ec1priv="""-----BEGIN EC PRIVATE KEY-----
-MHQCAQEEICpxup3qmbwffBBLrsZx7H7/i/+Wm7jTRttMM1KkaZ3DoAcGBSuBBAAK
-oUQDQgAEVil1nlGelogimdpB8fO45icsdBt2QdYkAvhqdgCWLMG0D4Rj4oCqJcyG
-2WH8J5+0DnGujfEA4TwJ90ECvLa2SA==
------END EC PRIVATE KEY-----
+       ec1priv="""-----BEGIN PRIVATE KEY-----
+MIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgKnG6neqZvB98EEuuxnHs
+fv+L/5abuNNG20wzUqRpncOhRANCAARWKXWeUZ6WiCKZ2kHx87jmJyx0G3ZB1iQC
++Gp2AJYswbQPhGPigKolzIbZYfwnn7QOca6N8QDhPAn3QQK8trZI
+-----END PRIVATE KEY-----
 """
        ec1keytext="""Public-Key: (256 bit)
 pub: 
@@ -59,10 +59,15 @@ MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEVil1nlGelogimdpB8fO45icsdBt2QdYk
 AvhqdgCWLMG0D4Rj4oCqJcyG2WH8J5+0DnGujfEA4TwJ90ECvLa2SA==
 -----END PUBLIC KEY-----
 """
+       
        def test_unencrypted_pem(self):
                key=PKey(privkey=self.rsa)
                self.assertIsNotNone(key.key)
                self.assertEqual(str(key),self.rsakeytext)
+       def test_export_priv_pem(self):
+               key=PKey(privkey=self.ec1priv)
+               out=key.exportpriv()
+               self.assertEqual(self.ec1priv,out)
        def test_unencrypted_pem_ec(self):
                
                key=PKey(privkey=self.ec1priv)
@@ -93,5 +98,22 @@ AvhqdgCWLMG0D4Rj4oCqJcyG2WH8J5+0DnGujfEA4TwJ90ECvLa2SA==
                self.assertTrue(len(signature)>0)
                verifier=PKey(pubkey=self.ec1pub)
                self.assertTrue(verifier.verify(digest,signature))
+       def test_generate(self):
+               newkey=PKey.generate("rsa")
+               self.assertIsNotNone(newkey.key)
+               s=str(newkey)
+               self.assertEqual(s[:s.find("\n")],"Public-Key: (1024 bit)")
+       def test_generate_params(self):
+               newkey=PKey.generate("rsa",rsa_keygen_bits=2048)
+               self.assertIsNotNone(newkey.key)
+               s=str(newkey)
+               self.assertEqual(s[:s.find("\n")],"Public-Key: (2048 bit)")
+       def test_generate_ec(self):
+               templkey=PKey(pubkey=self.ec1pub)
+               newkey=PKey.generate("ec",paramsfrom=templkey)
+               self.assertIsNotNone(newkey.key)
+               s=str(newkey)
+               self.assertEqual(s[:s.find("\n")],"Public-Key: (256 bit)")
+               self.assertNotEqual(str(templkey),str(newkey))
 if __name__ == "__main__":
        unittest.main()