11111

openssl_csr_sign

Пред.

След.

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5)openssl_csr_sign -- Sign a CSR with another certificate (or itself) and generate a certificate

Description

resource openssl_csr_sign (mixed csr, mixed cacert, mixed priv_key, int days [, array configargs [, int serial]])

- openssl_csr_sign() generates an x509 certificate

resource from the csr previously generated by

openssl_csr_new(), but it can also be the path to

a PEM encoded CSR when specified as

file://path/to/csr or an exported string generated

by openssl_csr_export().

The generated certificate will be signed by

cacert. If cacert is NULL,

the generated certificate will be a self-signed certificate.

priv_key is the private key that corresponds to

cacert.

days specifies the length of time for which the

generated certificate will be valid, in days.

You can finetune the CSR signing by configargs.

See openssl_csr_new() for more information about

configargs.

Since PHP 4.3.3 you can specify the serial number of issued certificate by

serial. In earlier versions, it was always 0.

- Returns an x509 certificate resource on success, FALSE on failure.

Замечание:

You need to have a valid openssl.cnf installed for

this function to operate correctly.

See the notes under the installation

section for more information.

-

Пример 1. openssl_csr_sign() example - signing a

CSR (how to implement your own CA)

<?php

// Let's assume that this script is set to receive a CSR that has

// been pasted into a textarea from another page

$csrdata = $_POST["CSR"];

// We will sign the request using our own "certificate authority"

// certificate. You can use any certificate to sign another, but

// the process is worthless unless the signing certificate is trusted

// by the software/users that will deal with the newly signed certificate

// We need our CA cert and its private key

$cacert = "file://path/to/ca.crt";

$privkey = array("file://path/to/ca.key", "your_ca_key_passphrase");

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

// Now display the generated certificate so that the user can

// copy and paste it into their local configuration (such as a file

// to hold the certificate for their SSL server)

openssl_x509_export($usercert, $certout);

echo $certout;

// Show any errors that occurred here

while (($e = openssl_error_string()) !== false) {

echo $e . "\n";

}

?>

Пред.

Начало

След.

openssl_csr_new

Уровень выше

openssl_error_string 22222

Free Web Hosting