0.036 2025-01-28 [Requirement Changes] * Require SPVM 0.990042. [Test Improvement] * Call Fn#destroy_runtime_permanent_vars method in the end of tests. 0.035 2025-01-16 [Internal Changes] * Update .gitignore and MANIFEST.SKIP. [Exception Changes] * SSLeay#select_next_proto method throws an exception if $outlen_ref is not defined. * SSLeay#get0_alpn_selected method throws an exception if $len_ref is not defined. * Net::SSLeay::X509#pubkey_digest method throws an exception if $len_ref is not defined. * Net::SSLeay::X509#digest method throws an exception if $len_ref is not defined. [Requirement Changes] * Require SPVM 0.990038. 0.034001 2025-01-02 [Bug Fix] * Fix a potential bug that the argument width on a method call is wrong. 0.034 2024-12-24 [New Features] * Add Net::SSLeay::SSL_CTX#SSL_CTX_use_certificate method. 0.033 2024-12-21 [Stability Improvement] * Unit tests and documentation are finised. [New Features] * Add the following fields to Net::SSLeay::SSL_CTX. has verify_callback : ro Net::SSLeay::Callback::Verify; has default_passwd_cb : ro Net::SSLeay::Callback::PemPassword; has alpn_select_cb : ro Net::SSLeay::Callback::AlpnSelect; has tlsext_servername_callback : ro Net::SSLeay::Callback::TlsextServername; 0.032 2024-12-20 [New Features] * Add Net::SSLeay#get_version method. [Test Improvment] * Add tests for Net::SSLeay. [Document Improvement] * Improve docs for Net::SSLeay. * Fix links to OpenSSL document. [Bug Fix] * Fix a bug of reference counting of Net::SSLeay#set_SSL_CTX method. [Incompatible Changes] * Net::SSLeay#set_SSL_CTX throws an exception if the argument is undef. * The return type of Net::SSLeay#set_SSL_CTX method becomes void. 0.031 2024-12-19 [New Features] * Add Net::SSLeay#select_next_proto method. * Add the following methods to Net::SSLeay::Constant class. static method SSL_TLSEXT_ERR_OK : int (); static method SSL_TLSEXT_ERR_ALERT_FATAL : int (); static method SSL_TLSEXT_ERR_NOACK : int (); static method OPENSSL_NPN_NEGOTIATED : int (); static method OPENSSL_NPN_NO_OVERLAP : int (); [Changes] * Change the definition of Net::SSLeay::SSL_CTX#set_alpn_select_cb method [Before] method set_alpn_select_cb : void ($cb : Net::SSLeay::Callback::AlpnSelect); [After] method set_alpn_select_cb : void ($cb : Net::SSLeay::Callback::AlpnSelect, $arg : object = undef); [Incompatible Changes] * Change the definition of Net::SSLeay::SSL_CTX#set_alpn_protos method [Before] method set_alpn_protos : int ($protos : byte[], $protos_len : int = -1); [After] method set_alpn_protos : int ($protos : string, $protos_len : int = -1); * Change the definition of Net::SSLeay::Util#convert_to_wire_format method [Before] static method convert_to_wire_format : byte[] ($protocols : string[]); [After] static method convert_to_wire_format : string ($protocols : string[]); * Remove all $arg argument in callback interfaces and callback setter methods. [Test Improvement] * Add many tests for callbacks. 0.030 2024-12-18 [Bug Fix] * Fix bugs of Net::SSLeay#get_SSL_CTX method. * Fix bugs of Net::SSLeay#set_msg_callback method. * Fix bugs of Net::SSLeay::X509_STORE_CTX#get1_issuer method. [Requirement Changes] * Require SPVM 0.990033. [Test Improvement] * Add many tests. 0.029 2024-12-16 [Bug Fix] * Fix bugs of Net::SSLeay#get_certificate method. * Fix bugs of Net::SSLeay#get_cert_chaine method. * Fix bugs of Net::SSLeay#load_client_CA_file method. 0.028 2024-12-13 [Bug Fix] * Fix bugs of Net::SSLeay#get_SSL_CTX method. * Fix bugs of Net::SSLeay#set_SSL_CTX method. [Test Improvement] * Online tests are skipped in offline systems. [Changes] * $type argument of Net::SSLeay::SSL_CTX#use_certificate_file method becomes optional. * $type argument of Net::SSLeay::SSL_CTX#use_PrivateKey_file method becomes optional. * Net::SSLeay::Error::SSL_ERROR_WANT_READ and Net::SSLeay::Error::SSL_ERROR_WANT_WRITE are thrown in connect_SSL, accept_SSL, write, read, shutdown methods in Net::SSLeay class. [New Features] * Add SSL_ERROR_WANT_WRITE class. * Add SSL_ERROR_WANT_READ class. 0.027 2024-12-12 [New Features] * Add Net::SSLeay::SSL_CTX#set_alpn_select_cb method. [Incompatibe Changes] * Remove Net::SSLeay::SSL_CTX#set_next_proto_select_cb method. * Remove Net::SSLeay::SSL_CTX#set_next_proto_select_cb_with_protocols method. * Remove Net::SSLeay::SSL_CTX#set_next_protos_advertised_cb_with_protocols method. * Remove Net::SSLeay::SSL_CTX#set_tlsext_servername_callback method. * Remove Net::SSLeay::SSL_CTX#set_psk_client_callback method. * Remove Net::SSLeay::SSL_CTX#set_psk_server_callback method. * Remove Net::SSLeay::SSL_CTX#set_tlsext_ticket_key_cb method. * Remove Net::SSLeay::SSL_CTX#sess_set_new_cb method. * Remove Net::SSLeay::SSL_CTX#sess_remove_new_cb method. * Remove Net::SSLeay::SSL_CTX#get_session_cache_mode method. * Remove Net::SSLeay::SSL_CTX#set_session_cache_mode method. * Remove Net::SSLeay::SSL_CTX#set_session_id_context method. * Remove Net::SSLeay::Callback::TlsextTicketKey class. * Remove Net::SSLeay::Callback::TlsextStatus class. * Remove Net::SSLeay::Callback::RemoveSession class. * Remove Net::SSLeay::Callback::PskServer class. * Remove Net::SSLeay::Callback::PskClient class. * Remove Net::SSLeay::Callback::NewSession class. * Remove Net::SSLeay::Callback::NextProtoSelect class. * Remove Net::SSLeay::Callback::NextProtosAdvertised class. * Remove Net::SSLeay::HMAC_CTX class. * Remove Net::SSLeay::EC_KEY class. * Remove Net::SSLeay::PEM#read_bio_DHparams method. * Remove Net::SSLeay::DH class. * Remove Net::SSLeay#get0_next_proto_negotiated method. * Remove Net::SSLeay#get0_next_proto_negotiated_return_string method. * Remove Net::SSLeay#ssl_session field. * Remove Net::SSLeay#session_reused method. * Remove Net::SSLeay#get1_session method. * Remove Net::SSLeay#set_session method. * Remove Net::SSLeay::SSL_SESSION class. * Remove Net::SSLeay#load_error_strings method. * Net::SSLeay#get_SSL_CTX returns a new object. * Remove Net::SSLeay#get_tlsext_status_type method. * Remove Net::SSLeay#pending method. * Remove Net::SSLeay#peek method. * Remove Net::SSLeay#set_tlsext_status_type method. * Remove deprecated Net::SSLeay#P_dump_peer_certificate method. [Bug Fix] * Fix bugs of Net::SSLeay#get0_alpn_selected method. * Fix bugs of Net::SSLeay#get0_next_proto_negotiated method. [Requirement Bug Fix] * Fix a SPVM::Sys dependency bug. 0.026 2024-12-11 [Incompatibe Changes] * Remove X509#get_ocsp_uri method. * Remove all OCSP related classes. * Remove all OCSP related methods in Net::SSLeay::DER class. 0.025 2024-12-10 [New Features] * Add Net::SSLeay::Error::PEM_R_NO_START_LINE class. * Add Net::SSLeay::SSL_CTX#get_mode method. * Add Net::SSLeay::Constant#SSL_MODE_SEND_FALLBACK_SCSV method. * Add Net::SSLeay::Callback::Verify class. * Add $verify_callback argument to Net::SSLeay::SSL_CTX#set_verify method. [Changes] * Every Net::SSLeay::PEM#read_* method throwns an exception with C set to the basic type ID of L class if the error is PEM_R_NO_START_LINE. [Incompatibe Changes] * Rename Net::SSLeay::Callback::PemPasswd class to Net::SSLeay::Callback::PemPassword class. * Remove Net::SSLeay::SSL_CTX#set_tmp_dh method because the corresponding native function is deprecated and set1_groups_list eixsts. * Remove Net::SSLeay::SSL_CTX#set_tmp_ecdh method because the corresponding native function is deprecated and set1_groups_list eixsts. * Remove Net::SSLeay::SSL_CTX#set1_curves_list method because set1_groups_list eixsts. * Remove Net::SSLeay::SSL_METHOD#SSLv23_method method because TSL_method eixsts. * Remove Net::SSLeay::SSL_METHOD#SSLv23_client_method method because TSL_client_method eixsts. * Remove Net::SSLeay::SSL_METHOD#SSLv23_server_method method because TSL_server_method eixsts. * Remove Net::SSLeay::SSL_CTX#set_ecdh_auto method because this has no effect. [Bug Fix] * Fix Net::SSLeay::SSL_CTX#set_client_CA_list bugs. * Fix Net::SSLeay::SSL_CTX#add_extra_chain_cert bugs. * Fix Net::SSLeay::SSL_CTX#get0_param bugs. * Fix Net::SSLeay::SSL_CTX#get_cert_store bugs. 0.024 2024-12-08 [New Features] * Add Net::SSLeay::XX509_EXTENSION#new method. * Add Net::SSLeay::XX509_EXTENSION#set_object method. * Add Net::SSLeay::XX509_EXTENSION#set_critical method. * Add Net::SSLeay::XX509_EXTENSION#set_data method. * Add Net::SSLeay::X509#new method. * Add Net::SSLeay::X509#get_pubkey method. * Add Net::SSLeay::X509#get_serialNumber method. * Add Net::SSLeay::GENERAL_NAME class. * Add Net::SSLeay::X509#get_subjectAltNames method. * Add Net::SSLeay::X509_STORE#new method. * Add Net::SSLeay::SSL_SESSION#new method. [Incompatibe Changes] * Remove deprecated Net::SSLeay::X509#P_get_ocsp_uri method. * Net::SSLeay::X509#get_issuer_name method returns a copied value. * Net::SSLeay::X509#get_subject_name method returns a copied value. * Net::SSLeay::X509#get_ext method returns a copied value. * Net::SSLeay::X509#check_issued method becomes a static method. * Net::SSLeay::X509#check_issued method becomes a static method. [Bug Fix] * Fix STACK_OF memory bugs. * Fix a memory bug of Net::SSLeay::X509_STORE_CTX#get_current_cert method. * Fix the type of 1th argument of Net::SSLeay::X509_STORE_CTX#get1_issuer method. [Incompatibe Changes] * Remove Net::SSLeay::Net::SSLeay::X509_STORE_CTX#Init method. * Remove Net::SSLeay::Net::SSLeay::SSL_SESSION#up_ref method. 0.023 2024-12-06 [New Features] * Add Net::SSLeay::X509_VERIFY_PARAM#clear_flags method. * Add Net::SSLeay::X509_VERIFY_PARAM#get_flags method. * Add Net::SSLeay::X509_VERIFY_PARAM#get_hostflags method. * Add Net::SSLeay::X509_VERIFY_PARAM#set1_email method. * Add Net::SSLeay::X509_VERIFY_PARAM#set1_ip_asc method. * Add Net::SSLeay::X509_VERIFY_PARAM#new method. * Add Net::SSLeay::X509_NAME_ENTRY#new method. * Add Net::SSLeay::X509_NAME#new method. * Add Net::SSLeay::X509_NAME#add_entry_by_NID method. * Add Net::SSLeay::X509_NAME#delete_entry method. * Add Net::SSLeay::X509_CRL#new method. * Add Net::SSLeay::X509_REVOKED class. * Add Net::SSLeay::X509_REVOKED#get_REVOKED method. [Changes] * Change the default value of $namele in Net::SSLeay::X509_VERIFY_PARAM#set1_host method. [Before] method set1_host : int ($name : string, $namelen : int = 0); [After] method set1_host : int ($name : string, $namelen : int = -1); [Incompatibe Changes] * Remove Net::SSLeay::X509#get_ext_by_OBJ method. * Remove Net::SSLeay::X509_NAME#get_index_by_OBJ method. * Remove Net::SSLeay::X509_NAME#get_text_by_NID method. * Net::SSLeay::X509_NAME#get_entry method returns copied value. 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.