ukrbublik/openssl_x509_gencrl

此包已 废弃 且不再维护。作者建议使用ukrbublik/openssl_x509_crl包代替。

PHP缺少创建CA(证书颁发机构)CRL(证书吊销列表)的OpenSSL函数

1.3 2019-11-25 18:15 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:07:21 UTC


README

描述

如果您想使用OpenSSL扩展在纯PHP上创建自己的证书颁发机构(CA),则需要创建证书吊销列表(CRL)的函数,但该函数在OpenSSL扩展中缺失(请求 #40046)。

此库实现了这样的函数 - openssl_x509_crl()

使用示例

use Ukrbublik\openssl_x509_crl\X509;
use Ukrbublik\openssl_x509_crl\X509_CERT;
use Ukrbublik\openssl_x509_crl\X509_CRL;

$ci = array(
	'no' => 1,
	'version' => 2,
	'days' => 30,
	'alg' => OPENSSL_ALGO_SHA1,
	'revoked' => array(
		array(
			'serial' => '101',
			'rev_date' => time(),
			'reason' => X509::getRevokeReasonCodeByName("cessationOfOperation"),
			'compr_date' => strtotime("-1 day"),
			'hold_instr' => null,
		)
	)
);
$ca_pkey = openssl_pkey_get_private(file_get_contents('ca_key.key'));
$ca_cert = X509::pem2der(file_get_contents('ca_cert.cer'));
$crl_data = openssl_x509_crl($ci, $ca_pkey, $ca_cert);
//$crl_data contains CRL in DER format