要驗證PHP KeyStore中的證書,您需要使用OpenSSL擴展。以下是一個簡單的示例,說明如何使用PHP和OpenSSL驗證證書:
sudo apt-get install php-openssl
verify_certificate.php
的PHP腳本,并將以下內容粘貼到其中:<?php
// 證書文件路徑
$cert_file = 'path/to/your/certificate.pem';
// 要驗證的證書文件路徑
$ca_cert_file = 'path/to/your/ca_certificate.pem';
// 要驗證的證書文件路徑
$client_cert_file = 'path/to/your/client_certificate.pem';
// 要驗證的私鑰文件路徑
$client_key_file = 'path/to/your/client_private_key.pem';
// 要驗證的證書主題
$subject = 'CN=example.com'; // 例如:CN=www.example.com
// 初始化SSL上下文
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'verify_peer_name' => true,
'allow_self_signed' => false,
'cafile' => $ca_cert_file,
'local_cert' => $client_cert_file,
'local_pk' => $client_key_file,
],
]);
// 嘗試建立SSL連接
$socket = fsockopen('ssl://www.example.com', 443, $errno, $errstr, 30);
if (!$socket) {
echo "Error: $errstr ($errno)";
} else {
// 關閉SSL連接
fclose($socket);
// 驗證證書
$certInfo = openssl_x509_parse($client_cert_file);
if (isset($certInfo['subject']['commonName']) && $certInfo['subject']['commonName'] == $subject) {
echo "Certificate is valid.";
} else {
echo "Certificate is invalid.";
}
}
?>
修改腳本中的證書文件路徑和主題,以匹配您的實際情況。
在命令行中運行腳本:
php verify_certificate.php
如果證書驗證成功,您將看到"Certificate is valid."消息。如果證書驗證失敗,您將看到相應的錯誤消息。