gpt4 book ai didi

phpseclib 使用自己的 CA 签署 CSR

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:27 27 4
gpt4 key购买 nike

我想与我的 CA 签署 CSR。我从 phpseclib: X.509 Examples 中提取了部分代码

<?php
include('File/X509.php');
include('Crypt/RSA.php');
$c = $_POST['csr'];

$CAPrivKey = new Crypt_RSA();
$CAPrivKey->setPassword('PrivatePassword');
$CAPrivKey->loadKey("-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,47EF178926906B55

lVtuTcJ1etpRaUT9086Vm5dsop8o5D92VVubcyhI268ZG4frRCBR4yuyORp+zdS2
[...]
gyx636VRV7aekLc6IFHJ56MzZRA/23izSooWqAJLTGEBrc4CWuodj9cc/+p3+9zC
-----END RSA PRIVATE KEY-----
");

$issuer = new File_X509();
$issuer->setPrivateKey($CAPrivKey);
$issuer->loadX509("-----BEGIN CERTIFICATE-----
MIIK0zCCBrugAwIBAgIJAPzTFDuzmcUcMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD
[...]
6F5Ji6w2IfD6xFhgvyTmqYgsae3+DEX6TAJosaI0EJQz6vYeubQb
-----END CERTIFICATE-----
");


$subject = new File_X509();

$subject->loadCSR($c);


$x509 = new File_X509();
$x509->setStartDate('-1 month');
$x509->setEndDate('+1 year');

$result = $x509->sign($issuer, $subject);

echo $x509->saveX509($result);
?>

在 $csr 中,我以这种方式格式化了 CSR:

-----开始证书申请-----MIGYMIGFAgAwbzELMAkGA1UEBgwCUEwxCjAIBgNVBAgMAS4xETAPBgNVBAcMCExlb2Frd2RhMQow[...]dGVzdC5wbDAQMAsGCSqGSIb3DQEBAQMBADALBgkqhkiG9w0BAQUDAQA=-----结束证书请求-----

此代码给我错误: fatal error :第 1659 行的 D:\wamp\www\Math\BigInteger.php 中超过 30 秒的最大执行时间

最佳答案

key 有多少位?你有安装 gmp 或 bcmath 或 openssl 吗?如果它们可用,Phpseclib 将使用它们中的每一个来加快速度,如果不可用,它将使用它自己的内部实现,这是最慢的。根据 math_biginteger benchmarks on phpseclib.sourceforge.net即使使用 2048 位 key ,旧版本 php 上的纯 php 实现也将花费很长时间。

关于phpseclib 使用自己的 CA 签署 CSR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13917206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com