• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • openssl_pkcs12_read()

    (PHP 5 >= 5.2.2, PHP 7)

    将 PKCS#12 证书存储区解析到数组中

    说明

    openssl_pkcs12_read(string $pkcs12,array &$certs,string $pass): bool

    openssl_pkcs12_read()$pkcs12提供的PKCS#12证书存储区解析到以$certs命名的变量中。

    参数

    $pkcs12

    证书存储内容,而不是它的文件名。

    $certs

    成功,将保存证书存储数据

    $pass

    用来解锁 PKCS#12 文件的解密密码

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    openssl_pkcs12_read()范例

    <?php
    if (!$cert_store = file_get_contents("/certs/file.p12")) {
        echo "Error: Unable to read the cert file\n";
        exit;
    }
    if (openssl_pkcs12_read($cert_store, $cert_info, "my_secret_pass")) {
        echo "Certificate Information\n";
        print_r($cert_info);
    } else {
        echo "Error: Unable to read the cert store.\n";
        exit;
    }
    ?>
    
    To extract the contents of a PKCS12 file you can use file_get_contents as well:
    <?
     $certs = array();
     $pkcs12 = file_get_contents( "pkcs12file.pem" );
     // No password
     openssl_pkcs12_read( $pkcs12, $certs, "" );
     print_r( $certs );
    ?>
    Output is:
    Array
    (
     [cert] => --- BEGIN CERTIFICATE ---
     //snipsnip//
     --- END CERTIFICATE ---
     [pkey] => --- BEGIN RSA PRIVATE KEY ---
     //snipsnip//
     [extracerts] = Array
     (
     )
    )