Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Unified Diff: third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py

Issue 211173006: Perform tlslite 0.3.8 -> 0.4.6 renames ahead of time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Drop the -B Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py
diff --git a/third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py b/third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py
deleted file mode 100644
index fe1a3cd74d29467cd30026d550d71de322cb6246..0000000000000000000000000000000000000000
--- a/third_party/tlslite/tlslite/utils/OpenSSL_RSAKey.py
+++ /dev/null
@@ -1,148 +0,0 @@
-"""OpenSSL/M2Crypto RSA implementation."""
-
-from cryptomath import *
-
-from RSAKey import *
-from Python_RSAKey import Python_RSAKey
-
-#copied from M2Crypto.util.py, so when we load the local copy of m2
-#we can still use it
-def password_callback(v, prompt1='Enter private key passphrase:',
- prompt2='Verify passphrase:'):
- from getpass import getpass
- while 1:
- try:
- p1=getpass(prompt1)
- if v:
- p2=getpass(prompt2)
- if p1==p2:
- break
- else:
- break
- except KeyboardInterrupt:
- return None
- return p1
-
-
-if m2cryptoLoaded:
- class OpenSSL_RSAKey(RSAKey):
- def __init__(self, n=0, e=0):
- self.rsa = None
- self._hasPrivateKey = False
- if (n and not e) or (e and not n):
- raise AssertionError()
- if n and e:
- self.rsa = m2.rsa_new()
- m2.rsa_set_n(self.rsa, numberToMPI(n))
- m2.rsa_set_e(self.rsa, numberToMPI(e))
-
- def __del__(self):
- if self.rsa:
- m2.rsa_free(self.rsa)
-
- def __getattr__(self, name):
- if name == 'e':
- if not self.rsa:
- return 0
- return mpiToNumber(m2.rsa_get_e(self.rsa))
- elif name == 'n':
- if not self.rsa:
- return 0
- return mpiToNumber(m2.rsa_get_n(self.rsa))
- else:
- raise AttributeError
-
- def hasPrivateKey(self):
- return self._hasPrivateKey
-
- def hash(self):
- return Python_RSAKey(self.n, self.e).hash()
-
- def _rawPrivateKeyOp(self, m):
- s = numberToString(m)
- byteLength = numBytes(self.n)
- if len(s)== byteLength:
- pass
- elif len(s) == byteLength-1:
- s = '\0' + s
- else:
- raise AssertionError()
- c = stringToNumber(m2.rsa_private_encrypt(self.rsa, s,
- m2.no_padding))
- return c
-
- def _rawPublicKeyOp(self, c):
- s = numberToString(c)
- byteLength = numBytes(self.n)
- if len(s)== byteLength:
- pass
- elif len(s) == byteLength-1:
- s = '\0' + s
- else:
- raise AssertionError()
- m = stringToNumber(m2.rsa_public_decrypt(self.rsa, s,
- m2.no_padding))
- return m
-
- def acceptsPassword(self): return True
-
- def write(self, password=None):
- bio = m2.bio_new(m2.bio_s_mem())
- if self._hasPrivateKey:
- if password:
- def f(v): return password
- m2.rsa_write_key(self.rsa, bio, m2.des_ede_cbc(), f)
- else:
- def f(): pass
- m2.rsa_write_key_no_cipher(self.rsa, bio, f)
- else:
- if password:
- raise AssertionError()
- m2.rsa_write_pub_key(self.rsa, bio)
- s = m2.bio_read(bio, m2.bio_ctrl_pending(bio))
- m2.bio_free(bio)
- return s
-
- def writeXMLPublicKey(self, indent=''):
- return Python_RSAKey(self.n, self.e).write(indent)
-
- def generate(bits):
- key = OpenSSL_RSAKey()
- def f():pass
- key.rsa = m2.rsa_generate_key(bits, 3, f)
- key._hasPrivateKey = True
- return key
- generate = staticmethod(generate)
-
- def parse(s, passwordCallback=None):
- if s.startswith("-----BEGIN "):
- if passwordCallback==None:
- callback = password_callback
- else:
- def f(v, prompt1=None, prompt2=None):
- return passwordCallback()
- callback = f
- bio = m2.bio_new(m2.bio_s_mem())
- try:
- m2.bio_write(bio, s)
- key = OpenSSL_RSAKey()
- if s.startswith("-----BEGIN RSA PRIVATE KEY-----"):
- def f():pass
- key.rsa = m2.rsa_read_key(bio, callback)
- if key.rsa == None:
- raise SyntaxError()
- key._hasPrivateKey = True
- elif s.startswith("-----BEGIN PUBLIC KEY-----"):
- key.rsa = m2.rsa_read_pub_key(bio)
- if key.rsa == None:
- raise SyntaxError()
- key._hasPrivateKey = False
- else:
- raise SyntaxError()
- return key
- finally:
- m2.bio_free(bio)
- else:
- raise SyntaxError()
-
- parse = staticmethod(parse)
« no previous file with comments | « third_party/tlslite/tlslite/utils/OpenSSL_RC4.py ('k') | third_party/tlslite/tlslite/utils/OpenSSL_TripleDES.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698