當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP openssl_pkey_get_public()用法及代碼示例



定義和用法

這個openssl_pkey_get_public()函數將返回您的公鑰。

描述

函數 openssl_pkey_get_public() 從給定的證書返回公鑰,以便它可以與其他函數一起使用。

用法

openssl_pkey_get_public ( mixed $certificate ):resource

參數

Sr.No 參數 描述
1

certificate

您可以使用以下證書:

1.一個X.509證書資源

2. 來自文件的公鑰,格式為 file://path/to/file.pem。

3. PEM 格式的公鑰。

返回值

如果沒有錯誤,PHP openssl_pkey_get_public() 函數將返回一個正資源標識符。如果失敗,它將返回 false。

PHP版本

此函數適用於 5.0.0 以上的 PHP 版本。

例子1

使用 X.509 證書使用 openssl_pkey_get_public() -

<?php
   $dn = array(
      "countryName" => "IN",
      "stateOrProvinceName" => "Karnataka",
      "localityName" => "test1",
      "organizationName" => "test2",
      "organizationalUnitName" => "test3",
      "commonName" => "www.test.com",
      "emailAddress" => "xyz@test.com"
   );

   // Generate a new private /public key pair
   $privkey = openssl_pkey_new();

   // Generate a certificate
   $csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256'));
   $res_cert = openssl_csr_sign($csr, null, $privkey, 365);
   openssl_x509_export($res_cert, $x_509_certificate);
   echo $res_pubkey = openssl_pkey_get_public($x_509_certificate);
?>

這將產生以下結果 -

Resource id #5

例子2

使用 .pem 文件處理 openssl_pkey_get_public() -

<?php
   $dn = array(
      "countryName" => "IN",
      "stateOrProvinceName" => "Karnataka",
      "localityName" => "test1",
      "organizationName" => "test2",
      "organizationalUnitName" => "test3",
      "commonName" => "www.test.com",
      "emailAddress" => "xyz@test.com"
   );

   // Generate a new private /public key pair
   $privkey = openssl_pkey_new();

   // Generate a certificate
   $csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256'));
   $res_cert = openssl_csr_sign($csr, null, $privkey, 365);
   openssl_x509_export_to_file($res_cert, 'C:/xampp/htdocs/modules/openssl/x_509.pem');
   echo $res_pubkey = openssl_pkey_get_public(file_get_contents('C:/xampp/htdocs/modules/openssl/x_509.pem'));
?>

這將產生以下結果 -

Resource id #7

相關用法


注:本文由純淨天空篩選整理自 PHP - Function openssl_pkey_get_public()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。