The usage of openssl_pkey_new() in the example above is wrong.
openssl_pkey_new() requires an array as first parameter
Working example for openssl_pkey_new():
http://php.net/manual/de/function.openssl-pkey-new.php#111769openssl_spki_new
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
openssl_spki_new
Референца за `function.openssl-spki-new.php` со подобрена типографија и навигација.
openssl_spki_new
(PHP 5 >= 5.6.0, PHP 7, PHP 8)
openssl_spki_new — Генерирај нов потпишан јавен клуч и предизвик
= NULL
$private_key, string $challenge, int $digest_algo = OPENSSL_ALGO_MD5): string|falseГенерира потпишан јавен клуч и предизвик користејќи го наведениот алгоритам за хеширање
Параметри
private_key-
private_key(или на друг начин добиен од другите функции од семејството openssl_pkey). Соодветниот јавен дел од клучот ќе се користи за потпишување на openssl_pkey_new() Јавниот клуч треба да биде поставен на приватен клуч што претходно бил генериран од CSR. challenge-
Предизвикот поврзан со SPKAC
digest_algo-
Алгоритам за дигестирање. Погледнете openssl_get_md_method().
Вратени вредности
Враќа потпишан јавен клуч и предизвик или false при неуспех.
Errors/Exceptions
Емитува E_WARNING грешка на ниво ако се помине непознат алгоритам за потпишување преку digest_algo parameter.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
private_key прифаќа OpenSSLAsymmetricKey инстанца сега; претходно, а resource од тип OpenSSL key беше прифатено.
|
Примери
Пример #1 openssl_spki_new() example
Генерирај нов SPKAC со стандарден дигест (MD5)
<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'testing');
if ($spkac !== NULL) {
echo $spkac;
} else {
echo "SPKAC generation failed";
}
?>Горниот пример ќе прикаже нешто слично на:
MIICRzCCAS8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDM3V3sS4o4 mB9dczziRnjGAmSp+JwPrHoYMAFGvDNmZGyiWfU586X4BKs++BAj7e/FsAfno0Hd hN9FwpCNFSox30L03nQvLYJE7f/WqigwBeMRT7Op/xvFks4sT70xP2HRYv4KqP9a WRcKU6cFH8VxhFhqM2txEIxZKdFLaL28yT7bEDmcglf4JLDdgNMb9rET1dkgtKE6 dOaJHPGjf1uvnOH4YwkQr7n4sLUR3Kdbh0ZJAFuQVDZulo+LLzxBBkqJJcB6FhF+ oXCdHTKZnqAhpWDz+NXYytAmevab6IYm5TWPWsJUv1YKJA5lg2mXbbloIZlN9Mgc i9fi03bdw+crAgMBAAEWB3Rlc3RpbmcwDQYJKoZIhvcNAQEEBQADggEBALyUvP/o pPSoWBlorFyZ2RnGwKf9qMpE0q2IJP7G3oDR4LyK/m933DUiZ+YnqThrH/CWb4Ek y5I3OCyl3S4wCuU1ibZZwDVwYShr5ELp0J9PEf7qMQZOhNsizoC7k+Czb2xB6hYW sKfsfTKm3cXBtH3fdgc/Z1Z7VSWnAzYo38snqm72NTf5yFRnrQdphNNXi+kn1zHA lxXRyFDXHOcYsOnwAWfyXFA4QDHQ0ezz0UoCY8gJXovcZb4GRYqOLUAsF2HcNboy 29WN8VqE29sL9QxVZFlwMcqyoLcNnyw38GvNvAGqSvzzbnEFP2MAQXJVe0H0hdp/ MML5G2iNVgNozAo=
Види Исто така
- openssl_spki_verify() - Проверува потпишан јавен клуч и предизвик
- openssl_spki_export_challenge() - Експортира предизвик поврзан со потпишан јавен клуч и предизвик
- openssl_spki_export() - Експортира валиден јавен клуч во PEM формат, потпишан јавен клуч и предизвик
- openssl_get_md_methods() - Добива достапни методи за дигестирање
- openssl_csr_new() - Генерира CSR
- openssl_csr_sign() - Потпиши CSR со друг сертификат (или самиот себе) и генерирај сертификат