X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=tests%2Ftestpkey.py;h=190cb88fef990215ca9d472104bb57010cd8f286;hb=HEAD;hp=1018dc69a4caf94219de3fb09ed2a59f274f977f;hpb=06ce3387113bc54ba6dcd24095d29e2a0010e0e4;p=oss%2Fctypescrypto.git diff --git a/tests/testpkey.py b/tests/testpkey.py index 1018dc6..190cb88 100644 --- a/tests/testpkey.py +++ b/tests/testpkey.py @@ -1,5 +1,6 @@ from ctypescrypto.pkey import PKey -import unittest +from ctypescrypto import pyver +import unittest,re from base64 import b64decode, b16decode from subprocess import Popen,PIPE,CalledProcessError @@ -10,10 +11,12 @@ def pem2der(s): return b64decode(data) def runopenssl(args,indata): - p=Popen(['openssl']+args,stdin=PIPE,stdout=PIPE,stderr=PIPE,universal_newlines=True) + p=Popen(['openssl']+args,stdin=PIPE,stdout=PIPE,stderr=PIPE) (out,err)=p.communicate(indata) if p.returncode: raise CalledProcessError(p.returncode," ".join(['openssl']+args)+":"+err) + if pyver > 2: + out = out.decode("utf-8") return out @@ -93,7 +96,7 @@ fv+L/5abuNNG20wzUqRpncOhRANCAARWKXWeUZ6WiCKZ2kHx87jmJyx0G3ZB1iQC -----END PRIVATE KEY----- """ ec1keytext="""Public-Key: (256 bit) -pub: +pub: 04:56:29:75:9e:51:9e:96:88:22:99:da:41:f1:f3: b8:e6:27:2c:74:1b:76:41:d6:24:02:f8:6a:76:00: 96:2c:c1:b4:0f:84:63:e2:80:aa:25:cc:86:d9:61: @@ -138,6 +141,8 @@ AvhqdgCWLMG0D4Rj4oCqJcyG2WH8J5+0DnGujfEA4TwJ90ECvLa2SA== from ctypescrypto.cipher import CipherType key=PKey(privkey=self.rsa) pem=key.exportpriv(password='2222',cipher=CipherType("aes256")) + if pyver >2: + pem = pem.encode("ascii") self.assertEqual(runopenssl(["pkey","-text_pub","-noout","-passin","pass:2222"], pem),self.rsakeytext) def test_export_priv_der(self): @@ -155,19 +160,19 @@ AvhqdgCWLMG0D4Rj4oCqJcyG2WH8J5+0DnGujfEA4TwJ90ECvLa2SA== key=PKey(privkey=self.ec1priv) self.assertIsNotNone(key.key) - self.assertEqual(str(key),self.ec1keytext) + self.assertEqual(re.sub("pub: \n","pub:\n",str(key)),self.ec1keytext) def test_unencrypted_der_ec(self): key=PKey(privkey=pem2der(self.ec1priv),format="DER") self.assertIsNotNone(key.key) - self.assertEqual(str(key),self.ec1keytext) + self.assertEqual(re.sub("pub: \n","pub:\n",str(key)),self.ec1keytext) def test_pubkey_pem(self): key=PKey(pubkey=self.ec1pub) self.assertIsNotNone(key.key) - self.assertEqual(str(key),self.ec1keytext) + self.assertEqual(re.sub("pub: \n","pub:\n",str(key)),self.ec1keytext) def test_pubkey_der(self): key=PKey(pubkey=pem2der(self.ec1pub),format="DER") self.assertIsNotNone(key.key) - self.assertEqual(str(key),self.ec1keytext) + self.assertEqual(re.sub("pub: \n","pub:\n",str(key)),self.ec1keytext) def test_compare(self): key1=PKey(privkey=self.ec1priv) self.assertIsNotNone(key1.key)