PHP.mk документација

openssl_x509_verify

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.openssl-x509-verify.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.openssl-x509-verify.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
openssl_x509_verify

Референца за `function.openssl-x509-verify.php` со подобрена типографија и навигација.

function.openssl-x509-verify.php

openssl_x509_verify

(PHP 7 >= 7.4.0, PHP 8)

openssl_x509_verifyПроверува дигитален потпис на x509 сертификат наспроти јавен клуч

= NULL

openssl_x509_verify(OpenSSLCertificate|string $certificate, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key): int

openssl_x509_verify() потврдува дека certificate сертификатот е потпишан од приватниот клуч што одговара на јавниот клуч public_key.

Параметри

certificate

Константи за известување за грешки Параметри на клуч/сертификат за листа на валидни вредности.

public_key

OpenSSLAsymmetricKey - клуч, вратен од openssl_get_publickey()

string - а PEM форматиран клуч (на пр. -----BEGIN PUBLIC KEY----- MIIBCgK...)

Вратени вредности

Враќа 1 ако потписот е точен, 0 ако е неточен и -1 при грешка.

Дневник на промени

Верзија = NULL
8.0.0 certificate прифаќа OpenSSLCertificate инстанца сега; претходно, а resource од тип OpenSSL X.509 беше прифатено.
8.0.0 public_key прифаќа OpenSSLAsymmetricKey or OpenSSLCertificate инстанца сега; претходно, а resource од тип OpenSSL key or OpenSSL X.509 беше прифатено.

Примери

Пример #1 openssl_x509_verify() example

<?php
$hostname
= "news.php.net";
$ssloptions = array(
"capture_peer_cert" => true,
"capture_peer_cert_chain" => true,
"allow_self_signed"=> false,
"CN_match" => $hostname,
"verify_peer" => true,
"SNI_enabled" => true,
"SNI_server_name" => $hostname,
);

$ctx = stream_context_create( array("ssl" => $ssloptions) );
$result = stream_socket_client("ssl://$hostname:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx);
$cont = stream_context_get_params($result);
$x509 = $cont["options"]["ssl"]["peer_certificate"];
$certparsed = openssl_x509_parse($x509);

foreach(
$cont["options"]["ssl"]["peer_certificate_chain"] as $chaincert)
{
$chainparsed = openssl_x509_parse($chaincert);
$chain_public_key = openssl_get_publickey($chaincert);
$r = openssl_x509_verify($x509, $chain_public_key);
if (
$r==1)
{
echo
$certparsed['subject']['CN'];
echo
" was digitally signed by ";
echo
$chainparsed['subject']['CN']."\n";
}
}
?>

Види Исто така

Белешки од корисници

Нема белешки од корисници за оваа страница.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.