Age | Commit message (Collapse) | Author |
|
an instance variable "private" is added to OpenSSL::PKey class.
this ivar is a flag that shows whether there is a private key
in the instance.
* ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private
key flag.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(again), [ruby-dev:26617] (again), [ruby-dev:27062]
* ext/openssl/lib/net/https.rb: removed.
* ext/openssl/lib/net/protocols.rb: removed.
* lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
OpenSSL::Engine.by_id calls given block before calling
ENGINE_init (block parameter is the return value of this method
itself). this functionality is useful to load dynamic shared
engines. the following code is a sample of loading a key using
OpenSC PKCS #11 module.
require "openssl"
pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|
e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")
e.ctrl_cmd("LIST_ADD", "1")
e.ctrl_cmd("LOAD")
}
pkcs11.ctrl_cmd("PIN", "secret")
key = pkcs11.load_private_key
* ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.
* ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
OpenSSL::Engine#cmds. it returms engine command definitions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
this class wraps PKCS7_RECIP_INFO struct.
* ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
SignerInfo.)
* test/openssl/test_pkcs7.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
the argument is a DER string if Base64 decoding failed.
* ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.
* test/openssl/test_ns_spki.rb: add new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
these features are enabled if this library is compiled with
OpenSSL 0.9.8 or later.
* test/openssl/test_digest.rb: add test for new digests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to get last error on the current thread. And should report
errors are on the stack while OpenSSL.debug is true.
* ext/openssl/ossl.c (ossl_get_errors): new method for debugging
this library.
* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.
* ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
of unused variable.
* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should
set @time to avoid warning.
* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,
X509_STORE_add_cert, X509_STORE_add_crl): should raise error if
wrapped functions failed.
* test/openssl/test_x509store.rb: add test for errors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should clear data from the buffer which already been output.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
<openssl/x509_vfy.h> to avoid compilation error of mswin32.
suggested by NAKAMURA Usaku.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
OPENSSL_NO_STATIC_ENGINE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ext/openssl/ossl_asn1.c, ext/openssl/ossl_bio.c,
ext/openssl/ossl_pkcs12.h, ext/openssl/ossl_x509req.c: avoid
compiler warnings. suggested by Mical Rokos.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
not set internal flag directry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should initialize session id context. [ruby-core:4663]
* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/openssl/openssl_missing.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
- SSLContext#client_cert_cb=(aProc). it is called when a client
certificate is requested by a server and no certificate was not
set for the SSLContext. it must return an Array which includes
OpenSSL::X509::Certificate and OpenSSL::PKey::RSA/DSA objects.
- SSLContext#tmp_dh_callback=(aProc). it is called in key
exchange with DH algorithm. it must return an OpenSSL::PKey::DH
object.
* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): ignore the
argument if it's nil.
* ext/openssl/ossl_pkey.c
(GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.
(DupPrivPKeyPtr): new function.
* ext/openssl/ossl_pkey_dh.c: add default DH parameters.
* ext/openssl/ossl_pkey.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
value. [ruby-dev:25971]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
error even if the specified engine could not be loaded. (Dynamic
engines don't have fixed name to load.)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_sys_fail if errno isn't 0. [ruby-dev:25831]
* ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ossl_ssl_write):
- need to set errno on Win32 platform.
- should call rb_sys_fail instead of rasing SSLError if
SSL_ERROR_SYSCALL occured.
- should wait for that the underlying IO become readable or
writable if the error was SSL_ERROR_WANT_READ or
SSL_ERROR_WANT_WRITE. [ruby-dev:25795]
* ext/openssl/lib/openssl/buffering.rb
(Buffering#initialize): should set @eof and @rbuffer.
(Buffering#fill_rbuff): should rescue Errno::EAGAIN.
(Buffering#consume_rbuf): pointless eof flag resetting is deleted.
(Buffering#read): should return an empty string if the specified
size is zero.
(Buffering#readpartial): new method.
(Buffering#readline): fix typo.
(Buffering#getc): return the first character of string correctly.
(Buffering#each): fix typo. suggested by Brian Ollenberger.
(Buffering#readchar): fix typo.
(Buffering#eof?): should read again it the input buffer is empty.
(Buffering#do_write): should rescue Errno::EAGAIN.
(Buffering#puts): use "\n" as the output field separator.
* ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the
underlying IO.
* ext/openssl/extconf.rb: get rid of GNUmakefile generation.
* text/openssl/test_pair.rb: test for IO like methods.
* test/ruby/ut_eof.rb: test about empty file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(OpenSSL::SSL::SSLSocket#post_connection_check): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
new method OpenSSL::X509::Store#set_default_paths.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
GetOCSPReq at first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
StringValue before GetSPKI. fixed: [ruby-dev:25359].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_hash_new to get exactly a Hash. fix [ruby-dev:25325].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ossl_asn1_decode_all): temporary value should be marked volatile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
use rb_str_new4 to avoid SEGV. fix [ruby-dev:25261]
* test/openssl/test_asn1.rb: add tests for OpenSSL::ASN1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto.
* ext/openssl/ossl_asn1.c (ossl_asn1_decode_all): ditto.
* struct.c (make_struct): [ruby-dev:25249]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
doc and code about SSLContext#{key_file,cert_file}.
fixed: [ruby-dev:25243]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ossl_x509store_set_time): add OpenSSL::X509::Store#time=.
(ossl_x509stctx_set_time): add OpenSSL::X509::StoreContext#time=.
* test/openssl/ossl_x509store.rb: test certificate validity times.
* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): add optional
second argument to specify the output format (see also
X509_NAME_print_ex).
* ext/openssl/ossl_x509name.c (ossl_x509name_init): new constants:
OpenSSL::X509::Name::COMPAT, OpenSSL::X509::Name::RFC2253,
OpenSSL::X509::ONELINE, OpenSSL::X509::MULTILINE.
* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name::RFC2253DN):
new module to provide the parse for RFC2253 DN format.
* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name.parse_rfc2253):
new method to parse RFC2253 DN format.
* test/openssl/ossl_x509name.rb: add tests about RFC2253 DN.
* text/openssl/ssl_server.rb: try to listen ports from 20443 to 20542
while EADDRINUSE is raised.
* all changes in this entry are backport from 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rollback the previous commit).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* lib/cgi/session.rb (CGI::Session::initialize): generate new
session if given session_id does not exist. [ruby-list:40368]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ossl_rsa_public_decrypt, ossl_rsa_private_encrypt,
ossl_rsa_private_decrypt): should take an optional argument
to specify padding mode. [ruby-talk:122539]
* ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): add new constants
PKCS1_PADDING, SSLV23_PADDING, NO_PADDING and PKCS1_OAEP_PADDING
under OpenSSL::PKey::RSA.
* test/openssl/test_pkey_rsa.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
functions may replace the pointer indicated by the first argument.
* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.
* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
- should return an empty string if specified length to read is 0.
- should check for pending data and wait for fd before reading.
- call underlying IO's sysread if SSL session is not started.
[ruby-dev:24072], [ruby-dev:24075]
* ext/openssl/ossl_ssl.c (ossl_ssl_write):
- call underlying IO's syswrite if SSL session is not started.
* ext/openssl/ossl_ssl.c (ossl_ssl_pending): new method
OpenSSL::SSL#pending.
* ext/openssl/lib/openssl/buffering.rb: should not use select.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
argument. [ruby-dev:23891]
* test/openssl/test_x509store.rb: prune tests for CRL checking
unless X509::V_FLAG_CRL_CHECK is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rolled back for future compatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
EVP_CIPHER_CTX_set_padding, EVP_CipherFinal_ex, EVP_CipherInit_ex,
EVP_DigestFinal_ex and EVP_DigestInit_ex.
* ext/openssl/openssl_missing.c (EVP_CIPHER_CTX_copy): new function.
* ext/openssl/openssl_missing.h (EVP_DigestInit_ex, EVP_DigestFinal_ex,
EVP_CipherInit_ex, EVP_CipherFinal_ex, HMAC_Init_ex): new macro for
OpenSSL 0.9.6.
* ext/openssl/ossl_cipher.c (ossl_cipher_encrypt, ossl_cipher_decrypt):
re-implemnt (the arguments for this method is ).
* ext/openssl/ossl_cipher.c (ossl_cipher_pkcs5_keyivgen): new method
OpenSSL::Cipher::Cipher#pkcs5_keyivgen. it calls EVP_BytesToKey().
* ext/openssl/ossl_cipher.c (ossl_cipher_alloc, ossl_cipher_initialize,
ossl_cipher_copy, ossl_cipher_reset ossl_cipher_final,
ossl_cipher_set_key, ossl_cipher_set_iv): replace all EVP_CipherInit
and EVP_CipherFinal into EVP_CipherInit_ex and EVP_CipherFinal_ex.
and EVP_CIPHER_CTX_init should only be called once.
* ext/openssl/ossl_cipher.c (ossl_cipher_set_key_length): new method
OpenSSL::Cipher::Cipher#key_len=.
* ext/openssl/ossl_cipher.c (ossl_cipher_set_padding): the type of
argument is changed from integer to boolean.
* ext/openssl/ossl_cipher.c (ossl_cipher_init_deprecated): new
finction; print warning for Cipher#<<.
* ext/openssl/ossl_digest.c: replace all EVP_DigestInit and
EVP_DigestFinal into EVP_DigestInit_ex and EVP_DigestFinal_ex.
and EVP_MD_CTX_init should only be called once.
* ext/openssl/ossl_digest.c (digest_final): should call
EVP_MD_CTX_cleanup to avoid memory leak.
* ext/openssl/ossl_hmac.c (ossl_hmac_initialize): repalce HMAC_init
into HMAC_init_ex. and HMAC_CTX_init is moved to ossl_hmac_alloc.
* ext/openssl/ossl_hmac.c (hmac_final): should call
HMAC_CTX_cleanup to avoid memory leak.
* test/openssl/test_cipher.rb, test/openssl/test_digest.rb,
test/openssl/test_hmac.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
workaround for the versions earlier than OpenSSL-0.9.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
empty pkey object if no argument is passed. [ruby-talk:103328]
* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto.
* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): ditto.
* ext/openssl/ossl_pkey_dh.c: add new methods: OpenSSL::PKey::DH#p,
OpenSSL::PKey::DH#p=, OpenSSL::PKey::DH#g, OpenSSL::PKey::DH#g=,
OpenSSL::PKey::DH#pub_key, OpenSSL::PKey::DH#pub_key=,
OpenSSL::PKey::DH#priv_key and OpenSSL::PKey::DH#priv_key=.
* ext/openssl/ossl_pkey_dsa.c: add new methods: OpenSSL::PKey::DSA#p,
OpenSSL::PKey::DSA#p=, OpenSSL::PKey::DSA#q, OpenSSL::PKey::DSA#q=,
OpenSSL::PKey::DSA#g, OpenSSL::PKey::DSA#g=,
OpenSSL::PKey::DSA#pub_key, OpenSSL::PKey::DSA#pub_key=,
OpenSSL::PKey::DSA#priv_key and OpenSSL::PKey::DSA#priv_key=.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to specify a string to be written.
* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read):
take optional second argument to specify a string to be written.
* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets):
refine regexp for end-of-line.
* ext/opnessl/lib/openssl/ssl.rb
(OpenSSL::SSL::SocketForwarder#listen): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
domainComponent) should be IA5String.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
the wrapper, not for a singleton class for wrapped main.
[ruby-dev:23305]
* bignum.c (rb_big_eq): use temporary double variable to save the
result (internal float register may be bigger than 64 bits, for
example, 80 bits on x86). [ruby-dev:23311]
* eval.c (block_pass): should generate unique identifier of the
pushing block. [ruby-talk:96363]
* ext/socket/socket.c (make_hostent): fix memory leak, based on
the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
OpenSSL::Config#each. it iterates with section name, field name
and value.
* ext/openssl/ossl_config.c (Init_ossl_config): include Enumerable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
second argument. it expected to be a Hash not an Integer.
* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
function for OpenSSL::X509::Name#add_entry.
* ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1
tag number to each element of return value.
* ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.
* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
second argument takes OBJECT_TYPE_TEMPLATE by default.
* sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|