0.022 2024-12-04
[New Features]
* Add Net::SSLeay::DH#new method.
* Add Net::SSLeay::EVP_PKEY#new method.
* Add Net::SSLeay::PEM#read_bio_PrivateKey method.
* Add Net::SSLeay::EVP#sha256 method.
* Add Net::SSLeay::EVP#sha512 method.
* Add Net::SSLeay::PKCS12#new method.
* Add Net::SSLeay::DER#(i2d_TYPE|d2i_TYPE|d2i_TYPE_bio) methods.
* Add Net::SSLeay::PKCS12#parse method.
* Add Net::SSLeay::OPENSSL#init_crypto method.
[Incompatible Changes]
* Add an exception to Net::SSLeay::OBJ#nid2obj method.
* Add an exception to Net::SSLeay::OBJ#obj2nid method.
[Bug Fix]
* Fix bugs in methods in Net::SSLeay::OBJ class.
[Changes]
* Remove SSL_CIPHER class.
[Requirement Changes]
* Require SPVM::FindBin 0.031 for tests.
0.021 2024-12-02
[New Features]
* Add Net::SSLeay::ASN1_ENUMERATED#new method.
* Add Net::SSLeay::ASN1_ENUMERATED#set_int64 method.
* Add Net::SSLeay::ASN1_ENUMERATED#get_int64 method.
* Add Net::SSLeay::ASN1_INTEGER#new method.
* Add Net::SSLeay::ASN1_INTEGER#set_int64 method.
* Add Net::SSLeay::ASN1_INTEGER#get_int64 method.
* Add Net::SSLeay::ASN1_OBJECT#new method.
* Add Net::SSLeay::ASN1_STRING#new method.
* Add Net::SSLeay::ASN1_STRING#set method.
* Add Net::SSLeay::ASN1_OCTET_STRING#new method.
* Add Net::SSLeay::ASN1_OCTET_STRING#set method.
* Add Net::SSLeay::ASN1_TIME#new method.
* Add Net::SSLeay::ASN1_TIME#set method.
* Add Net::SSLeay::ASN1_TIME#check method.
* Add Net::SSLeay::ASN1_TIME#print method.
* Add Net::SSLeay::ASN1_TIME#to_tm method.
* Add Net::SSLeay::ASN1_TIME#to_generalizedtime method.
* Add Net::SSLeay::ASN1_TIME#new method.
* Add Net::SSLeay::ASN1_TIME#set method.
* Add Net::SSLeay::ASN1_TIME#check method.
* Add Net::SSLeay::ASN1_TIME#print method.
[Bug Fix]
* Fix bugs that exception messages for SSL are not shown well.
[Requirement Changes]
* Require SPVM 0.990032.
0.020 2024-11-29
[New Features]
* Add Net::SSLeay::SSL_CTX#set_default_verify_paths_windows method.
0.019 2024-11-28
[New Features]
* Add Add Net::SSLeay#get0_next_proto_negotiated_return_string method.
* Add Net::SSLeay#get0_alpn_selected_return_string method.
* Add Net::SSLeay::Constant#TLSEXT_NAMETYPE_host_name method.
* Add Net::SSLeay::Constant#EVP_MAX_MD_SIZE method.
* Add Net::SSLeay::X509_NAME_ENTRY class.
* Add Net::SSLeay::X509#pubkey_digest_return_string method.
* Add Net::SSLeay::X509#digest_return_string method.
* Add Net::SSLeay#get_tlsext_status_type method.
* Add Net::SSLeay::ASN1_OCTET_STRING class.
* Add Net::SSLeay::X509_EXTENSION class.
* Add Net::SSLeay::ASN1_STRING class.
* Add Net::SSLeay::ASN1_STRING#length method.
* Add Net::SSLeay::OBJ#nid2obj method.
* Add Net::SSLeay::OBJ#obj2nid method.
* Add Net::SSLeay::X509_NAME#get_entry method.
* Add Net::SSLeay::X509_NAME#get_index_by_NID method.
* Add Net::SSLeay::X509_NAME#entry_count method.
* Add Net::SSLeay::X509_NAME#get_index_by_OBJ method.
* Add Net::SSLeay::X509_NAME_ENTRY#get_data method.
* Add Net::SSLeay::X509_NAME_ENTRY#get_object method.
* Add Net::SSLeay::X509#get_ext_by_NID method.
* Add Net::SSLeay::X509#get_ext_by_OBJ method.
* Add Net::SSLeay::X509#get_ext_count method.
* Add Net::SSLeay::X509#get_ext.
* Add Net::SSLeay::X509_EXTENSION#get_data method.
* Add Net::SSLeay::X509_EXTENSION#get_object method.
* Add Net::SSLeay::X509_EXTENSION#get_critical method.
[Deprecations and Rename]
* Net::SSLeay#P_dump_peer_certificate is deprecated, and dump_peer_certificate method is added.
* Net::SSLeay::X509#P_get_ocsp_uri is deprecated, and get_ocsp_uri method is added.
* Net::SSLeay#get_peer_certificate is deprecated, and get_ocsp_uri method is added.
0.018 2024-11-25
[New Features]
* Add Net::SSLeay::Util class.
* Add Net::SSLeay::SSL_CTX#set_alpn_protos_with_protocols method.
[Incompatible Changes]
* Changed the argument of Net::SSLeay::SSL_CTX#set_alpn_protos method.
[Before]
method set_alpn_protos : int ($protos : string, $protos_len : int = -1)
[After]
method set_alpn_protos : int ($protos : byte[], $protos_len : int = -1)
[Bug Fix]
* Fix a bug of Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols.
[Test Improvement]
* Add some tests.
0.017 2024-11-22
[New Features]
* Add Net::SSLeay::Constant#OPENSSL_VERSION_TEXT method.
* Add Net::SSLeay::ASN1_ENUMERATED#DESTROY method.
* Add Net::SSLeay::ASN1_INTEGER#DESTROY method.
* Add Net::SSLeay::ASN1_OBJECT#DESTROY method.
* Add Net::SSLeay::ASN1_TIME#DESTROY method.
* Add Net::SSLeay::EVP_MD#DESTROY method.
* Add Net::SSLeay::OPENSSL_INIT class.
* Add the following methods to Net::SSLeay::OPENSSL_INIT class.
static method new : Net::SSLeay::OPENSSL_INIT_SETTINGS ();
static method set_config_filename : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $filename : string);
static method set_config_file_flags : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $flags : long);
static method set_config_appname : int ($init : Net::SSLeay::OPENSSL_INIT_SETTINGS, $name : string);
* Add Net::SSLeay::PKCS12#DESTROY method.
[Incompatible Changes]
* Move Net::SSLeay::Util::X509#get_ocsp_uri method to Net::SSLeay::X509#P_get_ocsp_uri method.
* Move Net::SSLeay::Util#dump_peer_certificate method to Net::SSLeay#P_dump_peer_certificate method.
* Remove the following classes.
Net::SSLeay::Util
Net::SSLeay::Util::OCSP
Net::SSLeay::Util::PKCS12
Net::SSLeay::Util::X509
[Document Improvement]
* Add the links to all classes.
[Requirement Changes]
* Require OpenSSL 1.1.1.
0.016 2024-11-21
[New Features]
* Add Net::SSLeay::Util class.
* Add Net::SSLeay::Util::OCSP class.
* Add Net::SSLeay::Util::X509 class.
* Add Net::SSLeay::Util::PKCS12 class.
* Add Net::SSLeay::Util#dump_peer_certificate method.
* Add Net::SSLeay::Constant#OPENSSL_INIT_LOAD_SSL_STRINGS method.
* Add Net::SSLeay::Constant#OPENSSL_INIT_NO_LOAD_SSL_STRINGS method.
* Add the following methods to Net::SSLeay::Constant.
OPENSSL_INIT_NO_LOAD_SSL_STRINGS
OPENSSL_INIT_LOAD_SSL_STRINGS
OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS
OPENSSL_INIT_LOAD_CRYPTO_STRINGS
OPENSSL_INIT_ADD_ALL_CIPHERS
OPENSSL_INIT_ADD_ALL_DIGESTS
OPENSSL_INIT_NO_ADD_ALL_CIPHERS
OPENSSL_INIT_NO_ADD_ALL_DIGESTS
OPENSSL_INIT_LOAD_CONFIG
OPENSSL_INIT_NO_LOAD_CONFIG
OPENSSL_INIT_ASYNC
OPENSSL_INIT_ENGINE_RDRAND
OPENSSL_INIT_ENGINE_DYNAMIC
OPENSSL_INIT_ENGINE_OPENSSL
OPENSSL_INIT_ENGINE_CRYPTODEV
OPENSSL_INIT_ENGINE_CAPI
OPENSSL_INIT_ENGINE_PADLOCK
OPENSSL_INIT_ENGINE_AFALG
OPENSSL_INIT_ENGINE_ALL_BUILTIN
OPENSSL_INIT_ATFORK
OPENSSL_INIT_NO_ATEXIT
* Add Net::SSLeay::OPENSSL_INIT_SETTINGS class.
* Add Net::SSLeay::OPENSSL#init_ssl method.
* Add Net::SSLeay::PKCS12 class.
* Add Net::SSLeay::Util::X509#get_ocsp_uri method.
* Add Net::SSLeay::EVP#sha1 method.
[Incompatible Changes]
* Remove the logic of OpenSSL initializetion because this is automatically executed after OpenSSL 1.1.0.
* Remove Net::SSLeay#library_init method.
* Remove Net::SSLeay::X509#get_ext_d2i method.
0.015 2024-11-20
[New Features]
* Add Net::SSLeay::SSL_CTX#set_psk_server_callback method.
* Add Net::SSLeay::EVP_CIPHER_CTX class.
* Add Net::SSLeay::HMAC_CTX class.
* Add Net::SSLeay::Callback::TlsextTicketKey class.
* Add Net::SSLeay::SSL_CTX#set_tlsext_ticket_key_cb method.
* Add Net::SSLeay::Callback::AlpnSelect class.
* Add Net::SSLeay::SSL_CTX#set_alpn_select_cb_with_protocols method.
* Add Net::SSLeay::SSL_CTX#set_next_proto_select_cb_with_protocols method.
* Add Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols method.
* Add Net::SSLeay::Callback::NewSession class.
* Add Net::SSLeay::Callback::RemoveSession class.
* Add Net::SSLeay::SSL_CTX#sess_set_new_cb method.
* Add Net::SSLeay::SSL_CTX#sess_set_remove_cb method.
* Add Net::SSLeay::Callback::NextProtoSelect class.
* Add Net::SSLeay::Callback::Net::SSLeay::Callback::NextProtosAdvertised class.
* Add Net::SSLeay::Callback::Msg class.
* Add Net::SSLeay#set_msg_callback method.
0.014 2024-11-19
[New Features]
* Add Net::SSLeay::OCSP#single_get0_status method.
* Add Net::SSLeay::OCSP#resp_find method.
* Add Net::SSLeay::OCSP_SINGLERESP#DESTROY method.
* Add Net::SSLeay::OCSP#resp_get0 method.
* Add Net::SSLeay::OCSP#response_get1_basic method.
* Add Net::SSLeay::X509_STORE_CTX#get1_issuer method.
* Add Net::SSLeay::X509_STORE_CTX#Init method.
* Add Net::SSLeay::X509#dup method.
* Add Net::SSLeay::OCSP#cert_to_id method.
* Add Net::SSLeay::X509#check_issued method.
* Add Net::SSLeay::OCSP_ONEREQ class.
* Add Net::SSLeay::OCSP_ONEREQ#DESTROY method.
* Add Net::SSLeay::OCSP#request_add0_id method.
* Add Net::SSLeay::OCSP#request_add1_nonce method.
* Add Net::SSLeay::OCSP_REQUEST#new method.
* Add Net::SSLeay::Net::SSLeay::Callback::TlsextServername interface.
* Add Net::SSLeay::SSL_CTX#set_tlsext_servername_callback method.
* Add Net::SSLeay::SSL_CTX#set_tlsext_status_cb method.
* Add Net::SSLeay::SSL_CTX#set_default_passwd_cb method.
* Add Net::SSLeay::Callback::PskClient class.
* Add Net::SSLeay::Callback::TlsextStatus class.
* Add Net::SSLeay::Callback::TlsextServername class.
* Add Net::SSLeay::Callback::PemPasswd class.
* Add Net::SSLeay::SSL_CTX#set_psk_client_callback method.
0.013 2024-11-14
[New Features]
* Add Net::SSLeay::OCSP#response_status_str method.
* Add Net::SSLeay::OCSP#response_status method.
* Add Net::SSLeay::ASN1_TIME class.
* Add Net::SSLeay::ASN1_GENERALIZEDTIME class.
* Add Net::SSLeay::ASN1_INTEGER class.
* Add Net::SSLeay::ASN1_ENUMERATED class.
* Add Net::SSLeay::OCSP_BASICRESP class.
* Add Net::SSLeay::OCSP_CERTID class.
* Add Net::SSLeay::DER::d2i_OCSP_CERTID method.
* Add Net::SSLeay::DER::i2d_OCSP_CERTID method.
* Add Net::SSLeay::OCSP#basic_verify method.
* Add Net::SSLeay::OCSP#basic_add1_cert method.
* Add Net::SSLeay::OCSP#check_nonce method.
* Add Net::SSLeay::OCSP_BASICRESP#DESTROY method.
* Add Net::SSLeay::OCSP_CERTID#DESTROY method.
* Add Net::SSLeay::OCSP#check_validity method.
* Add Net::SSLeay::OCSP_SINGLERESP class.
* Add Net::SSLeay::ASN1_GENERALIZEDTIME#DESTROY method.
* Add Net::SSLeay::OCSP#resp_count method.
0.012 2024-11-13
[New Features]
* Add Net::SSLeay::X509_STORE_CTX#set_error method.
* Add Net::SSLeay::X509_STORE_CTX#get_error method.
* Add Net::SSLeay::X509_STORE_CTX#get_error_depth method.
* Add Net::SSLeay::X509_STORE_CTX#get_current_cert method.
* Add Net::SSLeay::SSL_CTX#set_session_cache_mode method.
* Add Net::SSLeay::SSL_CTX#set_ecdh_auto method.
* Add Net::SSLeay::SSL_CTX#set_tmp_dh method.
* Add Net::SSLeay::SSL_CTX#set_post_handshake_auth method.
* Add Net::SSLeay::SSL_CTX#use_PrivateKey method.
* Add Net::SSLeay::SSL_CTX#set_session_id_context method.
* Add Net::SSLeay::SSL_CTX#set_min_proto_version method.
* Add Net::SSLeay::SSL_CTX#get_ext_d2i method.
* Add Net::SSLeay::DER class.
* Add Net::SSLeay::OCSP class.
* Add Net::SSLeay::OCSP_REQUEST class.
* Add Net::SSLeay::OCSP_RESPONSE class.
* Add Net::SSLeay::DER#d2i_OCSP_REQUEST method.
* Add Net::SSLeay::DER#d2i_OCSP_RESPONSE method.
* Add Net::SSLeay::DER#i2d_OCSP_REQUEST method.
* Add Net::SSLeay#load_client_CA_file method.
* Add Net::SSLeay::SSL_CTX#set_client_CA_list method.
* Add Net::SSLeay::SSL_CTX#add_client_CA method.
* Add Net::SSLeay#get_SSL_CTX method.
* Add Net::SSLeay::SSL_CTX#add_extra_chain_cert method.
0.011 2024-11-12
[New Features]
* Add Net::SSLeay::X509_NAME class.
* Add Net::SSLeay::X509_NAME#oneline method.
* Add Net::SSLeay::X509_NAME#DESTROY method.
* Add Net::SSLeay::X509_NAME#get_text_by_NID method.
* Add Net::SSLeay::X509#get_issuer_name method.
* Add Net::SSLeay::X509#get_subject_name method.
* Add Net::SSLeay::EVP_MD class.
* Add Net::SSLeay::EVP class.
* Add Net::SSLeay::EVP#get_digestbyname method.
* Add Net::SSLeay::X509#digest method.
* Add Net::SSLeay::X509#pubkey_digest method.
* Add Net::SSLeay#get_certificate method.
* Add Net::SSLeay::X509_VERIFY_PARAM#set_flags method.
* Add Net::SSLeay::EVP_PKEY class.
* Add Net::SSLeay::EVP_PKEY#DESTROY method.
* Add Net::SSLeay#get0_next_proto_negotiated method.
* Add Net::SSLeay#get0_alpn_selected method.
* Add Net::SSLeay#get_peer_cert_chain method.
* Add Net::SSLeay::ASN1_OBJECT class.
* Add Net::SSLeay::OBJ class.
* Add Net::SSLeay::OBJ#txt2nid method.
0.010 2024-11-11
[New Features]
* Add Net::SSLeay::BIO#new_file method.
* Add Net::SSLeay::DH class.
* Add Net::SSLeay::PEM#read_bio_DHparams method.
* Add Net::SSLeay#get_servername method.
* Add Net::SSLeay::SSL_CTX#set_alpn_protos method.
* Add Net::SSLeay::EC_KEY class.
* Add Net::SSLeay::SSL_CTX#set_tmp_ecdh method.
* Add Net::SSLeay::SSL_CTX#set1_groups_list method.
* Add Net::SSLeay::SSL_CTX#set1_curves_list method.
* Add Net::SSLeay#set_tlsext_status_type method.
* Add Net::SSLeay#alert_desc_string_long method.
* Add Net::SSLeay::EC_KEY#free method.
* Add Net::SSLeay::EC_KEY#new_by_curve_name method.
* Add Net::SSLeay#set_SSL_CTX method.
* Add Net::SSLeay#get_mode method.
* Add Net::SSLeay#set_mode method.
* Add Net::SSLeay#clear_mode method.
* Add Net::SSLeay#get_mode method.
* Add Net::SSLeay#set_mode method.
* Add Net::SSLeay#clear_mode method.
* Add Net::SSLeay#version method.
* Add Net::SSLeay::DH#DESTROY method.
* Add Net::SSLeay::SSL_SESSION class.
* Add Net::SSLeay::SSL_SESSION#DESTROY method.
* Add Net::SSLeay#session_reused method.
* Add Net::SSLeay::CIPHER class.
* Add Net::SSLeay#get_cipher method.
* Add Net::SSLeay#get_peer_certificate method.
* Add Net::SSLeay#library_init method.
* Add Net::SSLeay::OPENSSL class.
* Add Net::SSLeay::OPENSSL#add_ssl_algorithms method.
* Add Net::SSLeay::OPENSSL#add_all_algorithms method.
* Add Net::SSLeay#get_shutdown method.
* Add Net::SSLeay#pending method.
* Add Net::SSLeay#load_error_strings method.
* Add Net::SSLeay#get1_session method.
* Add Net::SSLeay#set_session method.
* Add Net::SSLeay::RAND class.
* Add Net::SSLeay::RAND#seed method.
* Add Net::SSLeay::RAND#poll method.
* Add Net::SSLeay::RAND#load_file method.
0.009 2024-11-08
[Requirement Changes]
* Require SPVM 0.990029.
[Exception Message Improvement]
* Add the detail of OpenSSL error to its exception message.
0.008 2024-11-07
[New Features]
* Add Net::SSLeay::Error class.
* Add Net::SSLeay::Error::Operation class.
[Exception Messages Improvement]
* Improve exception messages.
[Incompatible Changes]
* Use Net::SSLeay::Error for OpenSSL errors.
[Document Improvement]
* Add docs for Net::SSLeay class.
0.007 2024-11-07
[Document Improvement]
* Add docs for Net::SSLeay::X509 class.
* Add docs for Net::SSLeay::X509_CRL class.
* Add docs for Net::SSLeay::X509_VERIFY_PARAM class.
* Add docs for Net::SSLeay::X509_STORE_CTX class.
* Add docs for Net::SSLeay::X509_STORE class.
* Add docs for Net::SSLeay::SSL_CTX class.
[Incompatible Changes]
* Fix the return type of Net::SSLeay::SSL_CTX#set_verify method.
[Before]
method set_verify : int ($mode : int);
[After]
method set_verify : void ($mode : int);
* Net::SSLeay::SSL_CTX does not throw system errors.
* Remove Net::SSLeay#error field.
[New Features]
* Add Net::SSLeay::ERR#get_error method.
* Add Net::SSLeay::ERR#peek_error method.
* Add Net::SSLeay::ERR#peek_last_error method.
[Changes]
* Use ERR_peak_last_error instead of ERR_get_error not to change SSL error queue.
0.006 2024-11-05
[Requirement Changes]
* Require SPVM 0.990028.
[Internal Changes]
* Add private Net::SSLeay::X509_CRL#new_with_pointer method.
* Add private Net::SSLeay::X509#new_with_pointer method.
* Add private Net::SSLeay::X509_STORE#new_with_pointer method.
* Add private Net::SSLeay::X509_STORE#new_with_pointer method.
* Use more constructors.
* Rename Net::SSLeay::X509_STORE#certs field to certs_list.
* Rename Net::SSLeay::X509_STORE#crls field to crls_list.
[Bug Fix]
* Fix a bug that Net::SSLeay::SSL_CTX#add_cert method's memory bug.
* Fix a bug that Net::SSLeay::SSL_CTX#add_crl method's memory bug.
* Fix a bug that the return value of Net::SSLeay::ERR#error_string is not shortened before \0.
[Document Improvement]
* Improve docs for Net::SSLeay::BIO class.
* Improve docs for Net::SSLeay class.
* Add docs for SPVM::Net::SSLeay::ConfigBuilder.
* Improve docs for Net::SSLeay::Constant.
* Add docs for Net::SSLeay::PEM.
* Add docs for Net::SSLeay::SSL_METHOD.
0.005 2024-11-02
[Requirement Changes]
* Require SPVM 0.990026.
[Bug Fix]
* Fix a bug that X509 object is not freed.
* Fix a bug that X509_CRL object is not freed.
* Fix a bug that X509_VERIFY_PARAM object is not freed.
* Fix a bug that X509_STORE_CTX object is not freed.
* Fix a bug that X509_STORE object is not freed.
[Internal Changes]
* Add Net::SSLeay::X509_STORE#certs field.
* Add Net::SSLeay::X509_STORE#crls field.
[Internal Changes]
* Add Net::SSLeay::X509_STORE#certs field.
* Add Net::SSLeay::X509_STORE#crls field.
* Add Net::SSLeay::SSL_CTX#init method.
0.004 2024-10-31
[New Features]
* Add Net::SSLeay::X509_STORE#set_flags method.
* Add Net::SSLeay::X509_CRL class.
* Add Net::SSLeay::X509_STORE_CTX class.
* Add Net::SSLeay::X509_STORE#add_crl method.
* Add Net::SSLeay::PEM#read_bio_X509_CRL method.
0.003 2024-10-30
[New Features]
* Add Net::SSLeay::SSL_METHOD#SSLv23_method method.
* Add Net::SSLeay::SSL_METHOD#TLS_method method.
0.002 2024-10-30
[New Features]
* Add Net::SSLeay::SSL_CTX#set_options
* Add Net::SSLeay::SSL_CTX#get_options
* Add Net::SSLeay::SSL_CTX#clear_options
* Add SPVM::Net::SSLeay::ConfigBuilder class to detect OpenSSL/LibreSSL include and lib directory.
0.001 2023-08-19
[Changes]
* First release.