PHP - Funzione openssl_pkey_get_public ()
Definizione e utilizzo
Il openssl_pkey_get_public() la funzione ti restituirà la chiave pubblica.
Descrizione
La funzione openssl_pkey_get_public () restituisce la chiave pubblica dal certificato dato in modo che possa essere utilizzata con altre funzioni.
Sintassi
openssl_pkey_get_public ( mixed $certificate ) : resource
Parametri
Suor n | Parametro | Descrizione |
---|---|---|
1 | certificate |
Puoi utilizzare i seguenti certificati: 1. Una risorsa certificato X.509 2. Chiave pubblica dal file nel file di formato: //path/to/file.pem. 3. Una chiave pubblica formattata PEM. |
Valori restituiti
La funzione PHP openssl_pkey_get_public () restituisce un identificatore di risorsa positivo se non ci sono errori. Restituirà false se fallisce.
Versione PHP
Questa funzione funzionerà dalla versione PHP successiva alla 5.0.0.
Esempio 1
Funzionamento di openssl_pkey_get_public () con certificato X.509 -
<?php
$dn = array(
"countryName" => "IN",
"stateOrProvinceName" => "Karnataka",
"localityName" => "test1",
"organizationName" => "test2",
"organizationalUnitName" => "test3",
"commonName" => "www.test.com",
"emailAddress" => "[email protected]"
);
// 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);
?>
Questo produrrà il seguente risultato:
Resource id #5
Esempio 2
Utilizzo di openssl_pkey_get_public () utilizzando il file .pem -
<?php
$dn = array(
"countryName" => "IN",
"stateOrProvinceName" => "Karnataka",
"localityName" => "test1",
"organizationName" => "test2",
"organizationalUnitName" => "test3",
"commonName" => "www.test.com",
"emailAddress" => "[email protected]"
);
// 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'));
?>
Questo produrrà il seguente risultato:
Resource id #7