繁体   English   中英

PHP openssl 创建非自签名证书时出错

[英]PHP openssl Error create Certificate NOT self signed

我想创建一个非自签名证书,类似于 CA。 我试过这段代码

<?php
// Supposons que ce script est configuré pour recevoir des CSR qui ont
// été collés dans un champ textarea depuis une autre page
 
$csrdata ="client.crt";

// Nous allons signer la requête avec notre propre certificat, en tant
// qu'"autorité de certification". Vous pouvez utiliser n'importe quel
// certificat pour en signer un autre, mais le processus est inutile à moins
// que le certificat de signature n'ait la confiance des utilisateurs
// qui utiliseront le nouveau certificat signé.

// Nous avons besoin de notre certificat et de la clé privée
$cacert = "CA.crt";
$privkey = array("CA.key", "la_cle_secrete_de_votre_certificat");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Affichons maintenant le certificat généré, de façon à ce que l'utilisateur
// puisse le copier/coller dans sa configuration locale (comme un
// fichier qui contient les certificats de son serveur SSL)
openssl_x509_export($usercert, $certout);
echo "<br>IL CERTIFICATO FINALE è :<br> $certout";

// Affiche toutes les erreurs survenues
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

但我收到错误错误:

0906D06C:PEM 例程:PEM_read_bio:无起始行。

有人知道解决方案吗?

我解决了这是创建类似 CA 的证书的问题的解决方案

<?php

$csrdata ="file://client.csr";
$cacert = "file://CA.crt";
$privkey = array("file://CA.key", "la_cle_secrete_de_votre_certificat");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

openssl_x509_export($usercert, $certout);
echo "<br>FINAL RESULT :<br> $certout";

// Affiche toutes les erreurs survenues
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM