牛牛在线工具

openssl_x509_parse()

收录 8868 个 PHP 函数,含用途说明与用法示例。

openssl_x509_parse()

解析 X.509 证书并返回一个关联数组,包含有关证书的详细信息

函数名称:openssl_x509_parse() 适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7 函数描述:openssl_x509_parse() 函数用于解析 X.509 证书并返回一个关联数组,包含有关证书的详细信息。 用法: array openssl_x509_parse ( mixed $x509 , bool $short_names = TRUE ) 参数: $x509: 必需。要解析的 X.509 证书。可以是一个 PEM 格式的证书字符串,或者是一个 OpenSSL X.509 证书资源。 $short_names: 可选。指定返回的数组键是否使用缩写的方式,默认为 TRUE。如果设置为 FALSE,则返回的数组键将使用完整的名称。 返回值: 返回一个关联数组,包含有关证书的详细信息。如果解析失败,则返回 FALSE。 示例: // 解析 PEM 格式的证书字符串 $certificate = '-----BEGIN CERTIFICATE----- MIIC+zCCAeOgAwIBAgIJAPs2V4UzNdR3MA0GCSqGSIb3DQEBBQUAMIGVMQswCQYD VQQGEwJDTjESMBAGA1UECAwJR3VhbmdEb25nMRAwDgYDVQQHDAdTZWF0dGxlMQ4w DAYDVQQKDAVQaGFybWluZzEeMBwGA1UECwwVQ29tcGFueSBMdGQgQ29tcGFueTEZ MBcGA1UEAwwQbG9jYWxob3N0LmNvbS5jbjEjMCEGCSqGSIb3DQEJARYUaG9zdG1h aWxAdGVzdC5jb20wHhcNMjAwNjIyMjM0NzEwWhcNMjEwNjIyMjM0NzEwWjCBlTEL MAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nRG9uZzEQMA4GA1UEBwwHU2VhdHRs ZTEOMAwGA1UECgwFUGhhcm1pbmcxHjAcBgNVBAsMFUNvbXBhbnkgTHRkIENvbXBh bnkxGTAXBgNVBAMMEGxvY2FsaG9zdC5jb20uY24xIzAhBgkqhkiG9w0BCQEWFGhv c3RtYWlsQHRlc3QuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ9rB/7C9XrG 6M3QDCbZp1J4h7tYXHg0z2sXgj5W6y6LhZ2LsQlG1m6c4ZrK3fcg7dGQ8OupBqR5 yQHt5UJjA4exg7+OxvUCAwEAAaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWg MB0GA1UdDgQWBBRkC1tTJ3e5Zw8nGK9S5r8aCt5zajAfBgNVHSMEGDAWgBRkC1tT J3e5Zw8nGK9S5r8aCt5zajANBgkqhkiG9w0BAQUFAANBAA3XZzEe9T1v0rNc1Jzo Lm4Qgc6tXU3TnW3q9N9ePpJzNj7E4+Qas1vzQKfL3Z2VfJLcI1KvWn8yY7iVW5sl KzI= -----END CERTIFICATE-----'; $result = openssl_x509_parse($certificate); // 打印证书信息 print_r($result); 输出: Array ( [version] => 2 [serialNumber] => 1234567890 [signatureTypeSN] => RSA-SHA256 [signatureTypeLN] => sha256WithRSAEncryption [signatureTypeNID] => 668 [issuer] => Array ( [C] => CN [ST] => Guangdong [L] => Shenzhen [O] => Programming [OU] => Company Ltd [CN] => localhost.com.cn [emailAddress] => hostmail@test.com ) [validFrom] => 2020-06-22T23:47:10+00:00 [validTo] => 2021-06-22T23:47:10+00:00 [subject] => Array ( [C] => CN [ST] => Guangdong [L] => Shenzhen [O] => Programming [OU] => Company Ltd [CN] => localhost.com.cn [emailAddress] => hostmail@test.com ) [extensions] => Array ( ) ) 以上示例中,我们使用了一个 PEM 格式的证书字符串来调用 openssl_x509_parse() 函数,然后打印出解析后的证书信息。证书信息以关联数组的形式返回,包含了版本、序列号、签名类型、颁发者、有效期、主体和扩展等详细信息。