TODO list for 'OpenSSL for Ruby 2' project ----------------------------------------------------------------------- OpenSSL:: [DONE] Move all Errors as child of OpenSSLError [DONE] Implement Ruby 1.8 style of creating instances (see StringIO) * Detailed object inspection (ie. all params for RSA) * How to support HW crypto engines? [DONE] Rename ANY classes to uniq ones * Support more detailed requies (like: require 'openssl/crypto', require 'openssl/ssl')? * WRITE TEST CASES! [Started] * Use RDoc and write documentation to sources? * Prune openssl_missing.[ch] * Add SMIME * Add PKCS#8 * Add PKCS#12 * Is there any need to implement BIO? (Wrap BIO to Ruby's IO?) [NO] Add Comp? [It's just RLE and ZLIB - no use for] [NO] Add krb5? [It's just ASN.1!] * Add ocsp BN:: [DONE] Move initialize to Cspace [DONE] Rethink type= (String or Integer?) [Integer!] [DONE] Speed up math. ops by the Thread uniq BN_CTX [No - 1 global is OK (Ruby is not thread safe => Don't be afraid of this one)] [DONE] Convert BN#to_s to Ruby-like behaviour * introduce BN#pack for MPI, BIN (and call it from BN#to_s and BN#initialize)? * DON'T FORGET TO ADD SUPPORT FOR BIN, AND MPI BACK! * Merge #rand and #rand_range into #rand * Merge #pseudo_rand and #pseudo_rand_range into #pseudo_rand Cipher:: [DONE] Use Factory (Cipher.new("DES_EDE3_CBC"))? Config:: [DONE] Port it to new (0.9.7) interface Digest:: [DONE] Use Factory (Digest.new("SHA1"))? [Used exactly like this: OpenSSL::Digest::Digest.new("SHA1")] HMAC:: * Move it to Digest module? PKCS7:: * Support attributes ((signed_)attributes) PKey:: * Factory? RSA#initialize -> PKey.new("RSA")? SSL:: [DONE] Support more conns via 1 SSL_CTX? X509:: * Rethink X509::Attribute, and X509::Extension