protonlabs / x509-sign
此包最新版本(1.0.0)没有提供许可证信息。
签名 ASN1 字符串
1.0.0
2021-06-29 13:19 UTC
Requires
- php: >=7.4
- ext-json: *
- phpseclib/phpseclib: ^3.0.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-09-16 21:22:12 UTC
README
一个简单的端点用于签名 X509 证书。
使用方法
通过 HTTP
在 web 服务器上暴露 index.php
。
获取签名服务器公钥
POST /
{
"publicKey": {}
}
或指定格式
POST /
{ "publicKey": {"format": "PSS"} }
请求签名
POST /
{ "signedCertificate": { "certificate": "-----BEGIN...", "clientPublicKey": "-----BEGIN..." } }
您可以分组请求并获取聚合的结果
POST /
{ "publicKey": {}, "signedCertificate": { "certificate": "-----BEGIN...", "clientPublicKey": "-----BEGIN..." } }
结果将是以下 JSON 输出
{ "publicKey": { "success": true, "result": "-----BEGIN..." }, "signedCertificate": { "success": true, "result": "-----BEGIN..." } }
包括服务器签名公钥字符串和已签名的证书。
作为服务
使用 Issuer::issue()
在 PHP 应用程序中签名证书。
use Proton\X509Sign\Issuer; use phpseclib3\Crypt\RSA\PrivateKey; use phpseclib3\Crypt\RSA\PublicKey; $issuer = new Issuer(); $issuer->issue( PrivateKey::load('-----BEGIN...'), PublicKey::load('-----BEGIN...'), ['commonName' => 'foo'], ['commonName' => 'bar'], '9256', );
配置
定义环境变量以配置您的服务器
-
SIGNATURE_PRIVATE_KEY
私有签名密钥的 PKCS1 字符串。 -
SIGNATURE_PRIVATE_KEY_PASSPHRASE
私钥的密码或短语。 -
EXTENSIONS
要支持的 X509 扩展的 JSON 表示形式。