Name
SPVM::Net::SSLeay::SSL_CTX - SSL_CTX data structure in OpenSSL
Description
Net::SSLeay::SSL_CTX class in SPVM represents SSL_CTX data structure in OpenSSL.
Usage
use Net::SSLeay::SSL_CTX;
Fields
pkeys_list
has pkeys_list : List of Net::SSLeay::EVP_PKEY;
A list of private keys.
Class Methods
new
static method new : Net::SSLeay::SSL_CTX ($method : Net::SSLeay::SSL_METHOD);
Calls native SSL_CTX_new function given the pointer value of $method, creates a new Net::SSLeay::SSL_CTX object, sets the pointer value of the new object to the return value of the native function, and returns the new object.
SSL_MODE_AUTO_RETRY
mode is enabled.
Exceptions:
If SSL_CTX_new failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
Instance Methods
set_mode
method set_mode : long ($mode : long);
Calls native SSL_CTX_set_mode function given $mode, and returns the updated mode.
set_verify
method set_verify : void ($mode : int);
Calls native SSL_CTX_set_verify function given $mode.
get0_param
method get0_param : Net::SSLeay::X509_VERIFY_PARAM ();
Calls native SSL_CTX_get0_param function, creates a Net::SSLeay::X509_VERIFY_PARAM object, sets the pointer value of the new object to the return value of the native function, and returns the new object.
load_verify_locations
method load_verify_locations : int ($path : string);
Calls native SSL_CTX_load_verify_locations function given $path, and returns its return value.
Exceptions:
If SSL_CTX_load_verify_locations failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_default_verify_paths
method set_default_verify_paths : int ();
Calls native set_default_verify_paths function, and returns its return value.
Exceptions:
If SSL_CTX_set_default_verify_paths failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
use_certificate_file
method use_certificate_file : int ($file : string, $type : int);
Calls native use_certificate_file function given $file, $type, and returns its return value.
Exceptions:
The file $file must be defined. Otherwise an exception is thrown.
If SSL_CTX_use_certificate_file failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
use_certificate_chain_file
method use_certificate_chain_file : int ($file : string);
Calls native use_certificate_chain_file function given $file, and returns its return value.
Exceptions:
If SSL_CTX_use_certificate_chain_file failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
use_PrivateKey_file
method use_PrivateKey_file : int ($file : string, $type : int);
Calls native use_PrivateKey_file function given $file, $type, and returns its return value.
Exceptions:
The file $file must be defined. Otherwise an exception is thrown.
If SSL_CTX_use_PrivateKey_file failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_cipher_list
method set_cipher_list : int ($str : string);
Calls native set_cipher_list function given $str, and returns its return value.
Exceptions:
The cipher list $str must be defined. Otherwise an exception is thrown.
If SSL_CTX_set_cipher_list failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_ciphersuites
method set_ciphersuites : int ($str : string);
Calls native set_ciphersuites function given $str, and returns its return value.
Exceptions:
The ciphersuites $str must be defined. Otherwise an exception is thrown.
If SSL_CTX_set_ciphersuites failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
get_cert_store
method get_cert_store : Net::SSLeay::X509_STORE ();
Calls native SSL_CTX_set_cert_store function, creates a new Net::SSLeay::X509_STORE, sets the pointer value of the new object to the return value of the native function, and returns the new object.
set_options
method set_options : long ($options : long);
Calls native set_options function given $options, and returns its return value.
get_options
method get_options : long ();
Calls native SSL_CTX_get_options function, and returns its return value.
clear_options
method clear_options : long ($options : long);
Calls native SSL_CTX_clear_options function given $options, and returns its return value.
set_alpn_protos
method set_alpn_protos : int ($protos : string, $protos_len : int = -1);
Calls native SSL_CTX_set_alpn_protos function given the protocals $ptotos and the length $protos_len, and returns its return value.
If $protos_len is less than 0, it is set to the length of $protos.
Exceptions:
The protocols $protos must be defined. Otherwise an exception is thrown.
If SSL_CTX_set_alpn_protos failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_tmp_ecdh
method set_tmp_ecdh : long ($ecdh : Net::SSLeay::EC_KEY);
Calls native SSL_CTX_set_tmp_ecdh function given the ECDH parameters $ecdh, and returns its return value.
Exceptions:
The ECDH parameters $ecdh must be defined. Otherwise an exception is thrown.
If SSL_CTX_set_tmp_ecdh failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set1_groups_list
method set1_groups_list : int ($list : string);
Calls native SSL_CTX_set1_groups_list function given the group list $list, and returns its return value.
Exceptions:
The group list $list must be defined. Otherwise an exception is thrown.
If set1_groups_list failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
Requirements:
OpenSSL 3.0
set1_curves_list
method set1_curves_list : int ($list : string);
Calls native SSL_CTX_set1_curves_list function given the group list $list, and returns its return value.
Exceptions:
The group list $list must be defined. Otherwise an exception is thrown.
If set1_curves_list failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_session_cache_mode
method set_session_cache_mode : long ($mode : long);
Calls native SSL_CTX_set_session_cache_mode function given $mode, and returns its return value.
set_ecdh_auto
method set_ecdh_auto : long ($state : int);
Calls native SSL_CTX_set_ecdh_auto function given $state, and returns its return value.
Exceptions:
If set_ecdh_auto failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_tmp_dh
method set_tmp_dh : long ($dh : Net::SSLeay::DH);
Calls native SSL_CTX_set_tmp_dh function given the pointer value of $dh, and returns its return value.
Exceptions:
If set_tmp_dh failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_post_handshake_auth
method set_post_handshake_auth : void ($val : int);
Calls native SSL_CTX_set_post_handshake_auth function given $val.
use_PrivateKey
method use_PrivateKey : int ($pkey : Net::SSLeay::EVP_PKEY);
Calls native SSL_CTX_use_PrivateKey function given $pkey, pushes $pkey to the end of "pkeys_list" field, and returns the return value of the native function.
set_session_id_context
method set_session_id_context : int ($sid_ctx : string, $sid_ctx_len : int = -1);
Calls native SSL_CTX_set_session_id_context function given $sid_ctx, $sid_ctx_len, and returns its return value.
If $sid_ctx_len is less than 0, it is set to the length of $sid_ctx.
Exceptions:
The context $sid_ctx must be defined. Otherwise an exception is thrown.
If SSL_CTX_set_session_id_context failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_min_proto_version
method set_min_proto_version : int ($version : int);
Calls native SSL_CTX_set_min_proto_version function given $version, and returns its return value.
Exceptions:
If SSL_CTX_set_min_proto_version failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
set_client_CA_list
method set_client_CA_list : void ($list : X509_NAME[]);
Calls native set_client_CA_list function given $list.
Exceptions:
The list $list must be defined. Otherwise an exception is thrown.
add_client_CA
method add_client_CA : int ($cacert : Net::SSLeay::X509);
Calls native add_client_CA function given $cacert, and returns its return value.
Exceptions:
The X509 object $cacert must be defined. Otherwise an exception is thrown.
If add_client_CA failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
add_extra_chain_cert
method add_extra_chain_cert : long ($x509 : Net::SSLeay::X509);
Calls native add_extra_chain_cert function given $x509, sets the no_free
flag of $x509 is set to 1, and returns its return value.
Exceptions:
The X509 object $x509 must be defined. Otherwise an exception is thrown.
If add_extra_chain_cert failed, an exception is thrown with eval_error_id
set to the basic type ID of Net::SSLeay::Error class.
DESTROY
method DESTROY : void ();
Frees native SSL_CTX object by calling native SSL_CTX_free function if no_free
flag of the instance is not a true value.
See Also
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License