diff options
author | Michal Rokos <m.rokos@sh.cvut.cz> | 2002-01-10 00:43:38 +0000 |
---|---|---|
committer | Michal Rokos <m.rokos@sh.cvut.cz> | 2002-01-10 00:43:38 +0000 |
commit | c8c2b576e89e238a6aead38b3cc40a2d3f07f751 (patch) | |
tree | b74df95f5df51dffcc40ba6b9df310f7f502dc4d /README | |
parent | c7018dfc98fa5ef076caf6dc3186e7271a862be3 (diff) | |
download | ruby-openssl-history-c8c2b576e89e238a6aead38b3cc40a2d3f07f751.tar.gz |
* OpenSSL 0.9.6c support (BN)
* MS_CALLBACK to ossl_pkey_*.c
* Memory checking with OSSL_DEBUG
* API doc style change
Diffstat (limited to 'README')
-rw-r--r-- | README | 177 |
1 files changed, 99 insertions, 78 deletions
@@ -1,10 +1,16 @@ $Id$ 'OpenSSL for Ruby' project -Copyright (C) 2001 Michal Rokos <m.rokos@sh.cvut.cz> +Copyright (C) 2001,2002 'OpenSSL for Ruby' team All rights reserved. - This program is licenced under the same licence as Ruby. (See the file 'LICENCE'.) + +[Team members] +GOTOU Yuuzou <gotoyuzo@notwork.org> - SSL Socket implementation +Michal Rokos <m.rokos@sh.cvut.cz> - The rest (too long to enumerate) + +[Contributors] +UNKNOWN <oss-ruby@technorama.net>oss-ruby@technorama.net - BN implementation [Done] (but not fully tested) = PKey:: RSA,DSA keys - new, load, export @@ -66,7 +72,7 @@ This program is licenced under the same licence as Ruby. Sorry, not done. See 'test' folder's examples and grep C sources for rb_define_*method :-)) -------------------------------------------------- -=> XXX - XXX is return value +-> XXX - XXX is return value A <=> B - A is an alias to B [XXX] - argument XXX is optional A|B - argument can be A or B @@ -75,17 +81,17 @@ cXXX - XXX is defined as constant fXXX - XXX is Fixnum hXXX - XXX is Hash nXXX - XXX is Number (Fixnum or Bignum) -oXXX - argument.kind_of?(XXX) => true +oXXX - argument.kind_of?(XXX) -> true sXXX - XXX is String tXXX - XXX is instance of Time -------------------------------------------------- Integer - .to_bn() => BN.new + .to_bn() -> BN.new OpenSSL:: - .seed(sSeed) => sSeed - .load_random_file(sFilename) => bResult - .write_random_file(sFilename) => bResult + .seed(sSeed) -> sSeed + .load_random_file(sFilename) -> bResult + .write_random_file(sFilename) -> bResult BN - Doc TODO! @@ -104,19 +110,21 @@ OpenSSL:: RC4 (nil, UNSPEC, BIT40) RC5 (ECB, CFB, OFB, CBC) .new([cMode|cType] [,cType|cMode]) - .encrypt(sPassword [, sInitVector]) => self - .decrypt(sPassword [, sInitVector]) => self - .update(sData) => s(En|De)crypted + ---------------------------------- + .encrypt(sPassword [, sInitVector]) -> self + .decrypt(sPassword [, sInitVector]) -> self + .update(sData) -> s(En|De)crypted .<< <=> .update - .cipher() => s(En|De)cryptedFinal + .cipher() -> s(En|De)cryptedFinal CipherError Config .new(sFilename) - dispatches .load .load(sFilename) - .get_value(sSection|nil, sKey) => sValue - .get_section(sSection) => hSection + ---------------------------------- + .get_value(sSection|nil, sKey) -> sValue + .get_section(sSection) -> hSection ConfigError @@ -131,21 +139,23 @@ OpenSSL:: DSS DSS1 .new([sData]) - .update(sData) => self + ---------------------------------- + .update(sData) -> self .<< <=> .update - .digest() => sDigestFinal - .hexdigest() => sHEXDigestFinal + .digest() -> sDigestFinal + .hexdigest() -> sHEXDigestFinal .inspect <=> .hexdigest .to_str <=> .hexdigest DigestError HMAC - .new(sKey, oDigest::ANY) => self - .update(sData) => self + .new(sKey, oDigest::ANY) -> self + ---------------------------------- + .update(sData) -> self .<< <=> .update - .hmac() => sHMACFinal - .hexhmac() => sHEXHMACFinal + .hmac() -> sHMACFinal + .hexhmac() -> sHEXHMACFinal .inspect <=> .hexhmac .to_str <=> .hexhmac @@ -154,14 +164,15 @@ OpenSSL:: Netscape:: SPKI .new([sPEM]) - .to_pem() => sPEM - .to_str() => sHumanReadable - .public_key() => oPKey::ANY - .public_key=(oPKey::ANY) => oPKey::ANY - .sign(oPKey::ANY, oDigest::ANY) => self - .verify(oPKey::ANY) => bResult - .challenge() => sChallenge - .challenge=(sChallenge) => sChallenge + ---------------------------------- + .to_pem() -> sPEM + .to_str() -> sHumanReadable + .public_key() -> oPKey::ANY + .public_key=(oPKey::ANY) -> oPKey::ANY + .sign(oPKey::ANY, oDigest::ANY) -> self + .verify(oPKey::ANY) -> bResult + .challenge() -> sChallenge + .challenge=(sChallenge) -> sChallenge SPKIError @@ -171,22 +182,24 @@ OpenSSL:: PKCS7 .new(cType|sPEM) - .cipher=(oCipher::ANY) => oCipher::ANY - .add_signer(oPKCS7::Signer, oPKey::ANY) => self - .signers() => Array of PKCS7::Signer - .add_recipient(oX509::Certificate) => self - .add_certificate(oX509::Certificate) => self - .add_crl(oX509::CRL) => self - .add_data(sData [, bDetached]) => self - .verify_data(oX509::Store [, sDetachedData]) => bResult, yields PKCS7::Signer - .decode_data(oPKey::ANY, oX509::Certificate) => sData - .to_pem() => sPEM + ---------------------------------- + .cipher=(oCipher::ANY) -> oCipher::ANY + .add_signer(oPKCS7::Signer, oPKey::ANY) -> self + .signers() -> Array of PKCS7::Signer + .add_recipient(oX509::Certificate) -> self + .add_certificate(oX509::Certificate) -> self + .add_crl(oX509::CRL) -> self + .add_data(sData [, bDetached]) -> self + .verify_data(oX509::Store [, sDetachedData]) -> bResult, yields PKCS7::Signer + .decode_data(oPKey::ANY, oX509::Certificate) -> sData + .to_pem() -> sPEM Signer .new(oX509::Certificate, oPKey::ANY, oDigest::ANY) - .name() => X509::Name - .serial() => fSerial - .signed_time() => tTime + ---------------------------------- + .name() -> X509::Name + .serial() -> fSerial + .signed_time() -> tTime PKCS7Error @@ -198,17 +211,18 @@ OpenSSL:: .new_from_pem(sPEM [, sPassword]) .generate(fKeyLen) - yields |p,n| .new_from_fixnum <=> generate - .public?() => bResult - .private?() => bResult - .to_str() => sHumanReadable - .export([oCipher::ANY [, sPassword]]) => sPEM + ---------------------------------- + .public?() -> bResult + .private?() -> bResult + .to_str() -> sHumanReadable + .export([oCipher::ANY [, sPassword]]) -> sPEM .to_pem <=> .export - .public_key() => oPKey::ANY - .to_der() => sDER - .sign(oDigest::ANY, sData) => sSig - .sign_digest(sDigest) => sSig - .verify(oDigest::ANY, sData, sSig) => bResult - .verify_digest(sDigest, sSig) => bResult + .public_key() -> oPKey::ANY + .to_der() -> sDER + .sign(oDigest::ANY, sData) -> sSig + .sign_digest(sDigest) -> sSig + .verify(oDigest::ANY, sData, sSig) -> bResult + .verify_digest(sDigest, sSig) -> bResult DSAError @@ -217,27 +231,30 @@ OpenSSL:: .new_from_pem(sPEM [, sPassword]) .generate(fKeyLen) - yields |p,n| .new_from_fixnum <=> generate - .public?() => bResult - .private?() => bResult - .to_str() => sHumanReadable - .export([oCipher::ANY [, sPassword]]) => sPEM + ---------------------------------- + .public?() -> bResult + .private?() -> bResult + .to_str() -> sHumanReadable + .export([oCipher::ANY [, sPassword]]) -> sPEM .to_pem <=> .export - .public_key() => oPKey::ANY - .public_encrypt(sData) => sEnc - .public_decrypt(sEnrypted) => sData - .private_encrypt(sData) => sEnc - .private_decrypt(sEncrypted) => sData - .to_der() => sDER - .sign(oDigest::ANY, sData) => sSig - .verify(oDigest::ANY, sData, sSig) => bResult + .public_key() -> oPKey::ANY + .public_encrypt(sData) -> sEnc + .public_decrypt(sEnrypted) -> sData + .private_encrypt(sData) -> sEnc + .private_decrypt(sEncrypted) -> sData + .to_der() -> sDER + .sign(oDigest::ANY, sData) -> sSig + .verify(oDigest::ANY, sData, sSig) -> bResult RSAError Random - .seed(sSeed) => sSeed - .load_random_file(sFilename) => bResult - .write_random_file(sFilename) => bResult - .random_bytes(fLen) => sRandom + .new is default + ---------------------------------- + .seed(sSeed) -> sSeed + .load_random_file(sFilename) -> bResult + .write_random_file(sFilename) -> bResult + .random_bytes(fLen) -> sRandom RandomError @@ -251,6 +268,7 @@ OpenSSL:: .new_from_string("oid = value") .new_from_array(["oid", "value"]) .new_from_hash({"oid"=>"oid", "value"=>"val"}) + ---------------------------------- AttributeError @@ -264,27 +282,30 @@ OpenSSL:: Extension - Doc TODO! .new is DISABLED! - .to_str => string as "oid = critical, value" - .to_a => ary as ["oid", "value", critical], critical as bool - .to_h => hash as {"oid"=>"oid", "value"=>"val", "critical"=>bool} + ---------------------------------- + .to_str -> string as "oid = critical, value" + .to_a -> ary as ["oid", "value", critical], critical as bool + .to_h -> hash as {"oid"=>"oid", "value"=>"val", "critical"=>bool} ExtensionFactory - Doc TODO! .new(...) + ---------------------------------- .create_extension(*arg) .create_ext_from_string(str) - .create_ext_from_ary(ary) => X509::Extension, ary as ["oid", "value", critical], critical as bool + .create_ext_from_ary(ary) -> X509::Extension, ary as ["oid", "value", critical], critical as bool .create_ext_from_hash(hash) ExtensionError Name - Doc TODO! .new(arg) dispatches "new_from_#{arg.type.name.downcase}" - .new_from_string(str) => self, str as "/A=B/C=D/E=F" - .new_from_array(ary) => self, ary as [["A","B"],["C","D"],["E","F"]] - .new_from_hash(hash) => self, hash as {"A"=>"B","C"=>"D","E"=>"F"} - .to_str => str as "/A=B/C=D/E=F" - .to_a => ary as [["A","B"],["C","D"],["E","F"]] - .to_h => hash as {"A"=>"B","C"=>"D","E"=>"F"} + .new_from_string(str) -> self, str as "/A=B/C=D/E=F" + .new_from_array(ary) -> self, ary as [["A","B"],["C","D"],["E","F"]] + .new_from_hash(hash) -> self, hash as {"A"=>"B","C"=>"D","E"=>"F"} + ---------------------------------- + .to_str -> str as "/A=B/C=D/E=F" + .to_a -> ary as [["A","B"],["C","D"],["E","F"]] + .to_h -> hash as {"A"=>"B","C"=>"D","E"=>"F"} NameError |