]> wagner.pp.ru Git - oss/ctypescrypto.git/commitdiff
I've discovered Python's __all__ variable and make use of it in all modles
authorVictor Wagner <wagner@atlas-card.ru>
Mon, 15 Dec 2014 12:10:59 +0000 (15:10 +0300)
committerVictor Wagner <wagner@atlas-card.ru>
Mon, 15 Dec 2014 12:10:59 +0000 (15:10 +0300)
13 files changed:
ctypescrypto/__init__.py
ctypescrypto/bio.py
ctypescrypto/cipher.py
ctypescrypto/cms.py
ctypescrypto/digest.py
ctypescrypto/ec.py
ctypescrypto/engine.py
ctypescrypto/exception.py
ctypescrypto/oid.py
ctypescrypto/pbkdf2.py
ctypescrypto/pkey.py
ctypescrypto/rand.py
ctypescrypto/x509.py

index 27ad0c50b8a9efa0f91a851a7381e83cb9f7a809..ebf8c41a7750e6c9dd3a2bc31976c4df65270489 100644 (file)
@@ -3,6 +3,7 @@
 
 """
 
+
 from ctypes import CDLL,c_char_p
 
 def config(filename=None):
@@ -12,6 +13,8 @@ def config(filename=None):
        """
        libcrypto.OPENSSL_config(filename)
 
+__all__ = ['bio','cipher','cms','config','digest','ec','engine','exception','oid','pbkdf2','pkey','rand','x509']
+
 libcrypto = CDLL("libcrypto.so.1.0.0")
 libcrypto.OPENSSL_config.argtypes=(c_char_p,)
 libcrypto.OPENSSL_add_all_algorithms_conf()
index a33310572cdc54213a70c10881044e0bce0c6fc9..ae89aa3bac354b9e934002b3c40e2c1820fec96f 100644 (file)
@@ -83,6 +83,8 @@ class Membio:
                Resets the read-only bio to start and discards all data from writable bio
                """
                libcrypto.BIO_ctrl(self.bio,1,0,None)
+
+__all__ = ['Membio']
 libcrypto.BIO_s_mem.restype=c_void_p
 libcrypto.BIO_new.restype=c_void_p
 libcrypto.BIO_new.argtypes=(c_void_p,)
index c2053e988354574d299e0bd1c36e6cf98c7ff701..90fd20336aeb80ddb5896009eabdec988bb479d2 100644 (file)
@@ -12,6 +12,8 @@ CIPHER_MODES = ("STREAM","ECB","CBC", "CFB", "OFB", "CTR","GCM")
 
 #
 
+__all__ = ['CipherError','new','Cipher','CipherType']
+
 class CipherError(LibCryptoError):
        pass
 
index 2c038985aba8ae9488f37083115dc5dd69bb4e6b..9213d27b8ff5390ce0aa38881900b8d8a25dd42f 100644 (file)
@@ -279,7 +279,7 @@ class EncryptedData(CMSBase):
                                raise CMSError("decrypt data")
                return str(b)
 
-               
+__all__=['CMS','CMSError','Flags','SignedData','EnvelopedData','EncryptedData']
 
 libcrypto.CMS_verify.restype=c_int
 libcrypto.CMS_verify.argtypes=(c_void_p,c_void_p,c_void_p,c_void_p,c_void_p,c_int)
index 0098ab4109a36c15b3dd144624a62a18b5530317..f5701037a6ee8d2238a9bfeed1813caa030263ad 100644 (file)
@@ -19,6 +19,7 @@ from ctypescrypto.exception import LibCryptoError
 from ctypescrypto.oid import Oid\r
 DIGEST_ALGORITHMS = ("MD5", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512")\r
 \r
+__all__ = ['DigestError','Digest','DigestType','new']\r
 \r
 class DigestError(LibCryptoError):\r
        pass\r
index f3ea77831a718a652a3902918acc977ec0b2586a..047aad97a1d6db7225d8f6b5c967647df364ba22 100644 (file)
@@ -5,6 +5,8 @@ from ctypescrypto.pkey import PKey, PKeyError
 from ctypes import c_void_p,c_char_p,c_int,byref
 from ctypescrypto import libcrypto
 
+__all__ = [ 'create']
+
 def create(curve,data):
        """
                Creates EC keypair from the just secret key and curve name
index dd7c0281b34a255670d55ab868322128b10a3d93..898b20dc4c0268f687a443373dc569e5fe06ec5c 100644 (file)
@@ -4,6 +4,9 @@ engine loading and configuration
 from ctypes import *
 from ctypescrypto import libcrypto
 from ctypescrypto.exception import LibCryptoError
+
+__all__=['default','set_default']
+
 default=None
 
 def set_default(engine):
index c4710eca32742a817bfb1204a0d7550bcce8d433..43ba6a0b5a8858402f5fc0902d5b596bb54f1bdb 100644 (file)
@@ -4,6 +4,9 @@ Exception which extracts libcrypto error information
 from ctypes import *
 from ctypescrypto import libcrypto
 strings_loaded=False
+
+__all__ = ['LibCryptoError','clear_err_stack']
+
 class LibCryptoError(Exception):
        """
                Exception for libcrypto errors. Adds all the info, which can be
index 976cd3f8e5b7cf07cc6ab86e93e1400d4acac52d..7d4fc21439206c0d196239755f6a2874ea9c9a4c 100644 (file)
@@ -9,6 +9,9 @@
 """
 from ctypescrypto import libcrypto
 from ctypes import c_char_p, c_void_p, c_int, create_string_buffer
+
+__all__ = ['Oid','create','cleanup']
+
 class Oid:
        """
                Represents an OID. It can be consturucted by textual
index 0c2b077f175804048e268c918de3d180fff72313..c2e01bbe95de7e8dc5a53d31801e40366cd40ec3 100644 (file)
@@ -7,6 +7,8 @@ from ctypes import c_char_p,c_int, c_void_p, create_string_buffer
 from ctypescrypto import libcrypto
 from ctypescrypto.digest import DigestType
 
+__all__ = ['pbkdf2']
+
 def pbkdf2(password,salt,outlen,digesttype="sha1",iterations=2000):
        """
                Interface to PKCS5_PBKDF2_HMAC function
index 10366ee0b318e1947b4448a1be4f9419884af5b3..59a53486f9f62e877cf1748fc5e6c83f5f15a063 100644 (file)
@@ -10,6 +10,8 @@ from ctypescrypto import libcrypto
 from ctypescrypto.exception import LibCryptoError,clear_err_stack
 from ctypescrypto.bio import Membio
 import sys
+
+__all__ = ['PKeyError','password_callback','PKey']
 class PKeyError(LibCryptoError):
        pass
 
index 5d51eedd77fb30fc0ea3a31e2aa322a57b35e622..e8d7d957ce3ae5ee51fa0c715467cfd35b757542 100644 (file)
@@ -6,6 +6,8 @@ from ctypes import create_string_buffer, c_char_p, c_int, c_double
 from ctypescrypto import libcrypto
 from ctypescrypto.exception import LibCryptoError
 
+__all__ = ['RandError','bytes','pseudo_bytes','seed','status']
+
 class RandError(LibCryptoError):
        pass
 
index 5c2a50d99303392a483243dc3e7db7647b5ab6b3..e2c97c669d114ddcbcb1e2f2707ecedc7e7c3751 100644 (file)
@@ -1,9 +1,22 @@
+"""
+Implements interface to openssl X509 and X509Store structures, 
+I.e allows to load, analyze and verify certificates.
+
+X509Store objects are also used to verify other signed documets,
+such as CMS, OCSP and timestamps.
+"""
+
+
+
 from ctypes import c_void_p,create_string_buffer,c_long,c_int,POINTER,c_char_p
 from ctypescrypto.bio import Membio
 from ctypescrypto.pkey import PKey
 from ctypescrypto.oid import Oid
 from ctypescrypto.exception import LibCryptoError
 from ctypescrypto import libcrypto
+
+__all__ = ['X509Error','X509Name','X509Store','StackOfX509']
+# X509_extlist is not exported yet, because is not implemented 
 class X509Error(LibCryptoError):
        """
        Exception, generated when some openssl function fail
@@ -16,6 +29,10 @@ class X509Name:
        """
        Class which represents X.509 distinguished name - typically 
        a certificate subject name or an issuer name.
+
+       Now used only to represent information, extracted from the
+       certificate. Potentially can be also used to build DN when creating
+       certificate signing request
        """
        # XN_FLAG_SEP_COMMA_PLUS & ASN1_STRFLG_UTF8_CONVERT
        PRINT_FLAG=0x10010
@@ -170,10 +187,10 @@ class X509:
                @param chain - list of X509 objects to add into verification
                        context.These objects are untrusted, but can be used to
                        build certificate chain up to trusted object in the store
-               @param key - PKey object
-               parameters stora and key are mutually exclusive. If neither is specified, attempts to verify
+               @param key - PKey object with open key to validate signature
                
-               itself as self-signed certificate
+               parameters store and key are mutually exclusive. If neither 
+               is specified, attempts to verify self as self-signed certificate
                """
                if store is not None and key is not None:
                        raise X509Error("key and store cannot be specified simultaneously")
@@ -234,11 +251,14 @@ class X509:
                return libcrypto.X509_check_ca(self.cert)>0
 class X509Store:
        """
-               Represents trusted certificate store. Can be used to lookup CA certificates to verify
+               Represents trusted certificate store. Can be used to lookup CA 
+               certificates to verify
 
-               @param file - file with several certificates and crls to load into store
+               @param file - file with several certificates and crls 
+                               to load into store
                @param dir - hashed directory with certificates and crls
-               @param default - if true, default verify location (directory) is installed
+               @param default - if true, default verify location (directory) 
+                       is installed
 
        """
        def __init__(self,file=None,dir=None,default=False):