SSL通信でエラー
解決したいこと
環境:Windows11,PHP 8.2.1
コマンドラインからPHPのプログラム実行したさい
curlを使ったSSL通信でエラーが発生します。
通信開始時にエラー
error:0308010C:digital envelope routines::unsupported
該当するソースコード
//SSL認証に必要な設定を追加
if(ORCA_SSL_SWITCH){
curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'P12');
curl_setopt($ch, CURLOPT_SSLCERT, ORCA_SSL_P12);
curl_setopt($ch, CURLOPT_CAINFO, ORCA_SSL_CA);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, ORCA_SSL_PASS);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_DEFAULT);
}
// cURLリクエストを実行
$response = curl_exec($ch);
試した内容
openssl 3.0でlegacy扱いになった暗号アルゴリズムのエラーでデフォルトでは無効になっており、設定で有効にできるとりあましたので下記を実行しております。
・php -i から取得した場所にopenssl.cnfを配置&設定、同様のエラーが発生
場所:Openssl default config => C:\Program Files\Common Files\SSL/openssl.cnf
・環境設定 OPENSSL_CONFを配置&設定、同様のエラーが発生
・関係ないと思いますがphpinfoで取得したOpenssl default configのパスにあるC:\Apache24\conf\openssl.cnfも変更、同様のエラーが発生
0 likes