X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=tests%2Ftestpkey.py;h=00aee7a506bd9445518a57ffd18a62e87189efb9;hb=55c10d02095c6d708c72753f9915ae0076cf5d02;hp=4b556039b1b3929f0a3d9e0a2f3b6f9f22afdfd3;hpb=525eda99ba5ee2791615aa3c172b0b5bbb481724;p=oss%2Fctypescrypto.git diff --git a/tests/testpkey.py b/tests/testpkey.py index 4b55603..00aee7a 100644 --- a/tests/testpkey.py +++ b/tests/testpkey.py @@ -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()