函式名稱:openssl_x509_checkpurpose()
函式描述:此函式用於檢查給定的X.509證書是否適用於指定的目的。
適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7
語法:openssl_x509_checkpurpose(resource $x509cert, int $purpose [, array $cainfo = array() [, string $untrustedfile = NULL]]): bool
引數:
- $x509cert:必需,表示X.509證書的資源控制代碼。
- $purpose:必需,表示目的的整數值。可以使用openssl_x509_purpose_to_string()函式獲取目的的名稱。
- $cainfo:可選,表示證書頒發機構的資訊。預設為空陣列。
- $untrustedfile:可選,表示不受信任的證書的檔案路徑。預設為NULL。
返回值:如果證書適用於指定的目的,則返回true;否則返回false。
示例:
// 建立X.509證書資源控制代碼
$cert = openssl_x509_read(file_get_contents('example.pem'));
// 檢查證書是否適用於SSL/TLS客戶端連線
$purpose = X509_PURPOSE_SSL_CLIENT;
$result = openssl_x509_checkpurpose($cert, $purpose);
if ($result) {
echo "該證書適用於SSL/TLS客戶端連線";
} else {
echo "該證書不適用於SSL/TLS客戶端連線";
}
// 釋放證書資源控制代碼
openssl_x509_free($cert);
注意事項:
- 在使用此函式之前,需要確保已經正確載入了OpenSSL擴充套件。
- 該函式在驗證給定的證書是否適用於特定目的時非常有用,如SSL/TLS客戶端連線、SSL/TLS伺服器連線等。
- 可以使用openssl_x509_purpose_to_string()函式將目的的整數值轉換為目的名稱,以便更好地理解和展示目的。
- 如果需要檢查多個目的,可以多次呼叫此函式並傳遞不同的目的值。