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 表示形式。