ukrbublik/openssl_x509_crl

PHP中缺少用于创建CA证书吊销列表(CRL)的OpenSSL功能

1.3 2019-11-25 18:15 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:16:21 UTC


README

描述

如果你想在纯PHP中使用OpenSSL扩展创建自己的认证机构(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