]> www.wagner.pp.ru Git - oss/ctypescrypto.git/blobdiff - README.md
Covered StackOfX509 by tests, fixed some typos in pkey docstrings
[oss/ctypescrypto.git] / README.md
index cd91063ec370c97dc1091b5b02152976adb7c377..4b6d5d872d38203535571ded095024990b2a033b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -78,6 +78,19 @@ python big integer.
 X509 certificates
 -----------------
 
+Certificates are cryptographically signed documents, which tie together
+public key and some attributes of key owner (certificate subject).
+Certificates are signed by some trusted organizations called Certificate
+Authorities (one which have issued given certificate, is called
+certificate issuer). Your browser or operating system typically have
+predefined store of the trusted CA certificates (although nothing
+prevent you from running your own CA using openssl command line utility,
+and trust only it). 
+
+
+
+Certificates are described in [RFC 5280](http://tools.ietf.org/html/rfc5280)
+
 Module **ctypescrypto.x509** contains objects **X509** which represents
 certificate (and can be constructed from string, contained PEM
 or DER certificate) and object **X509Store** which is a store of trusted
@@ -103,6 +116,16 @@ some operations with CMS and certificate verification.
 CMS documents
 -------------
 
+CMS stands for Cryptographic Message Syntax. It is defined in the
+[RFC 5652](http://tools.ietf.org/html/rfc5652).
+CMS defines several types of documents. There is **SignedData**,
+which can be read by anyone, but is protected from authorized changes
+by digital signature of its author. There is **EnvelopedData** protected
+from unauthorized reading by cipher and allowed to be read only by
+owners of certain private keys, and there is **EncryptedData**, which
+are protected by symmetric cipher keys.
+
+
 There is basic factory function **CMS()**, which parses PEM or der
 representation of cryptographic message and generates appropriate
 object. There are **SignedData**, **EnvelopedData** and
@@ -164,15 +187,21 @@ cryptographic algorithms, provided by **gost** engine.
 Test Suite
 ----------
 
+Tests can be run using
+
+    python setup.py test
+
 Test suite is fairly incomplete. Contributions are welcome.
 
 Possible future enhancements
 ----------------------------
 
-1. Create and signing of the certificate requests (PKCS#10)
+1. Creation and signing of the certificate requests (PKCS#10)
 2. Parsing and analyzing CRLs
-3. OCSP request creation and response parsing
-4. Timestamping ([RFC 3161](http://www.ietf.org/rfc/rfc3161.txt))
+3. OCSP ([RFC 6960](http://tools.ietf.org/html/rfc6960))request creation and response parsing
+4. Timestamping ([RFC 3161](http://tools.ietf.org/html/rfc3161))
 support.
 6. MAC support. Few people know that there is more MACs than just HMAC,
 and even fewer, that OpenSSL supports them.
+
+  vim: spelllang=en tw=72