openssl csr sign(): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== openssl_csr_sign == '''(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)''' === openssl_csr_sign — Signerar en CSR med ett annat certifikat (eller sig själv) och genererar ett certifikat === ==== Beskrivning ==== <pre> openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key, int $days, ?array $options = null, int $serial = 0, ?string...') |
(Ingen skillnad)
|
Nuvarande version från 31 oktober 2024 kl. 16.37
openssl_csr_sign
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_csr_sign — Signerar en CSR med ett annat certifikat (eller sig själv) och genererar ett certifikat
Beskrivning
openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, #[\SensitiveParameter] OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key, int $days, ?array $options = null, int $serial = 0, ?string $serial_hex = null): OpenSSLCertificate|false
Funktionen `openssl_csr_sign()` genererar ett x509-certifikat från den angivna Certificate Signing Request (CSR).
Notera: För att denna funktion ska fungera korrekt måste en giltig openssl.cnf vara installerad. Se installationssektionen för mer information.
Parametrar
csr En CSR som tidigare genererats av openssl_csr_new(). Den kan också vara sökvägen till en PEM-kodad CSR när den anges som file://path/to/csr eller en exporterad sträng genererad av openssl_csr_export().
ca_certificate Det genererade certifikatet signeras av ca_certificate. Om ca_certificate är null blir det genererade certifikatet ett självsignerat certifikat.
private_key Den privata nyckeln som motsvarar ca_certificate.
days Anger hur länge det genererade certifikatet kommer att vara giltigt, i dagar.
options Du kan justera CSR-signeringen med options. Se openssl_csr_new() för mer information om options.
serial Ett valfritt serienummer för det utfärdade certifikatet. Om det inte anges är standardvärdet 0.
Returvärden
Returnerar ett OpenSSLCertificate vid framgång, false vid misslyckande.
Ändringslogg
| Version | Beskrivning |
|---|---|
| 8.0.0 | Vid framgång returnerar denna funktion nu en instans av OpenSSLCertificate; tidigare returnerades en resurs av typen OpenSSL X.509. |
| 8.0.0 | csr accepterar nu en instans av OpenSSLCertificateSigningRequest; tidigare accepterades en resurs av typen OpenSSL X.509 CSR. |
| 8.0.0 | ca_certificate accepterar nu en instans av OpenSSLCertificate; tidigare accepterades en resurs av typen OpenSSL X.509. |
| 8.0.0 | private_key accepterar nu en instans av OpenSSLAsymmetricKey eller OpenSSLCertificate; tidigare accepterades en resurs av typen OpenSSL key eller OpenSSL X.509. |
Exempel
Exempel #1 openssl_csr_sign()-exempel - signering av en CSR (hur man implementerar sin egen CA)
<?php
// Anta att detta skript tar emot en CSR som har
// klistrats in i en textarea från en annan sida
$csrdata = $_POST["CSR"];
// Vi kommer att signera förfrågan med vårt eget certifikatutfärdar-certifikat (CA).
// Man kan använda vilket certifikat som helst för att signera ett annat, men
// processen är värdelös om inte certifikatet som signerar är betrott
// av den mjukvara/användare som kommer att hantera det nyss signerade certifikatet
// Vi behöver vårt CA-certifikat och dess privata nyckel
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");
$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365, array('digest_alg'=>'sha256') );
// Visa det genererade certifikatet så att användaren kan
// kopiera och klistra in det i sin lokala konfiguration (som en fil
// som håller certifikatet för deras SSL-server)
openssl_x509_export($usercert, $certout);
echo $certout;
// Visa eventuella fel som uppstod här
while (($e = openssl_error_string()) !== false) {
echo $e . "\n";
}
?>
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.openssl-csr-sign.php PHP Funktioner Funktionsreferens OpenSSL-funktioner
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webserver.