事前に計算された公開鍵の値のみを使用して、php を使用して公開鍵証明書を作成する方法を知りたいと思っていました。公開鍵と残りの値を入力したら、自分の CA 証明書を使用してこの証明書に署名します。ありがとう!
1 に答える
2
X.509 証明書には、サブジェクトと発行者があります。サブジェクトの公開鍵しかない場合でも、CA の秘密鍵を使用して CA 署名付き証明書を作成できます。純粋な PHP X.509 実装である phpseclibを使用して...
<?php
include('File/X509.php');
include('Crypt/RSA.php');
// load private key for issuer / CA
$CAPrivKey = new Crypt_RSA();
$CAPrivKey->loadKey('...');
// load public key for subject
$pubKey = new Crypt_RSA();
$pubKey->loadKey('...');
$pubKey->setPublicKey();
// create the DN for the subject
$subject = new File_X509();
$subject->setDN('...');
$subject->setPublicKey($pubKey);
// create the DN for the issuer
// (the DN can be loaded from another X.509 cert too)
$issuer = new File_X509();
$issuer->setPrivateKey($CAPrivKey);
$issuer->setDN('...');
$x509 = new File_X509();
$x509->setStartDate('-1 month');
$x509->setEndDate('+1 year');
$result = $x509->sign($issuer, $subject);
echo $x509->saveX509($result);
?>
于 2013-02-15T20:53:56.960 に答える