home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.6)
-
- import M2Crypto
- RSA_size = len
-
- def DIGSBY_RSA_blocksize(rsa, padding):
- return RSA_size(rsa) - {
- M2Crypto.RSA.pkcs1_padding: 11,
- M2Crypto.RSA.pkcs1_padding: 42 }.get(padding, 0)
-
-
- def DIGSBY_RSA_numblocks(flen, blocksize):
- if flen <= 0 or blocksize <= 0:
- raise ValueError('need both positive flen and blocksize')
- blocksize <= 0
- (quot, rem) = divmod(flen, blocksize)
- if rem:
- return quot + 1
- return quot
-
-
- def DIGSBY_RSA_size(flen, rsa, padding):
- blocksize = DIGSBY_RSA_blocksize(rsa, padding)
- numblocks = DIGSBY_RSA_numblocks(flen, blocksize)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- return numblocks * RSA_size(rsa)
-
-
- def DIGSBY_RSA_size_inverse(flen, rsa, padding):
- blocksize = DIGSBY_RSA_blocksize(rsa, padding)
- numblocks = flen / RSA_size(rsa)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- return numblocks * blocksize
-
-
- def DIGSBY_RSA_public_encrypt(from_, rsa, padding):
- blocksize = DIGSBY_RSA_blocksize(rsa, padding)
- numblocks = DIGSBY_RSA_numblocks(len(from_), blocksize)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- StringIO = StringIO
- import StringIO
- to_ = StringIO()
- from_ = StringIO(from_)
- while from_.tell() < from_.len:
- to_.write(rsa.public_encrypt(from_.read(blocksize), padding))
- return to_.getvalue()
-
-
- def DIGSBY_RSA_private_encrypt(from_, rsa, padding):
- blocksize = DIGSBY_RSA_blocksize(rsa, padding)
- numblocks = DIGSBY_RSA_numblocks(len(from_), blocksize)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- StringIO = StringIO
- import StringIO
- to_ = StringIO()
- from_ = StringIO(from_)
- while from_.tell() < from_.len:
- to_.write(rsa.private_encrypt(from_.read(blocksize), padding))
- return to_.getvalue()
-
-
- def DIGSBY_RSA_private_decrypt(from_, rsa, padding):
- blocksize = RSA_size(rsa)
- numblocks = DIGSBY_RSA_numblocks(len(from_), blocksize)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- StringIO = StringIO
- import StringIO
- to_ = StringIO()
- from_ = StringIO(from_)
- while from_.tell() < from_.len:
- to_.write(rsa.private_decrypt(from_.read(blocksize), padding))
- return to_.getvalue()
-
-
- def DIGSBY_RSA_public_decrypt(from_, rsa, padding):
- blocksize = RSA_size(rsa)
- numblocks = DIGSBY_RSA_numblocks(len(from_), blocksize)
- if numblocks <= 0:
- raise ValueError('bad number of blocks')
- numblocks <= 0
- StringIO = StringIO
- import StringIO
- to_ = StringIO()
- from_ = StringIO(from_)
- while from_.tell() < from_.len:
- to_.write(rsa.public_decrypt(from_.read(blocksize), padding))
- return to_.getvalue()
-
- __all__ = [
- 'DIGSBY_RSA_public_encrypt',
- 'DIGSBY_RSA_public_decrypt',
- 'DIGSBY_RSA_private_encrypt',
- 'DIGSBY_RSA_private_decrypt']
-
- def make_x509():
- import M2Crypto
- t = M2Crypto.ASN1.ASN1_UTCTIME()
- t.set_time(0)
- x = M2Crypto.X509.X509()
- rsa = M2Crypto.RSA.gen_key(512, 65537)
- pk = M2Crypto.EVP.PKey()
- pk.assign_rsa(rsa)
- del rsa
- x.set_pubkey(pk)
- x.set_not_after(t)
- x.set_not_before(t)
- x.sign(pk, 'sha1')
- return x
-
-