0
생성 certificatees에 확장 된 KeyUsage 확장을 추가 하시겠습니까? 그것에 관한 모든 문서?이 코드를 사용하여 phpseclib로 된 KeyUsage을 추가 할 수 있습니다 phpseclib
생성 certificatees에 확장 된 KeyUsage 확장을 추가 하시겠습니까? 그것에 관한 모든 문서?이 코드를 사용하여 phpseclib로 된 KeyUsage을 추가 할 수 있습니다 phpseclib
$x509->setExtension('id-ce-extKeyUsage', array('id-kp-serverAuth', 'id-kp-clientAuth'));
전체 예 :
<?php
include('File/X509.php');
include('Crypt/RSA.php');
// create private key/x.509 cert for stunnel/website
$privKey = new Crypt_RSA();
extract($privKey->createKey());
$privKey->loadKey($privatekey);
$pubKey = new Crypt_RSA();
$pubKey->loadKey($publickey);
$pubKey->setPublicKey();
$subject = new File_X509();
$subject->setDNProp('id-at-organizationName', 'phpseclib demo cert');
$subject->setPublicKey($pubKey);
$issuer = new File_X509();
$issuer->setPrivateKey($privKey);
$issuer->setDN($subject->getDN());
$x509 = new File_X509();
$x509->loadX509($x509->saveX509($x509->sign($issuer, $subject)));
$x509->setExtension('id-ce-keyUsage', array('digitalSignature', 'keyEncipherment'));
$x509->setExtension('id-ce-extKeyUsage', array('id-kp-serverAuth', 'id-kp-clientAuth'));
$result = $x509->sign($issuer, $x509);
echo "the stunnel.pem contents are as follows:\r\n\r\n";
echo $privKey->getPrivateKey();
echo "\r\n";
echo $x509->saveX509($result);
echo "\r\n";
은 내가 당신이 효과하지만 무엇을 얻을 수있는 인증서를 다시 서명에 얼마나 좋아 말할 수 없습니다.
대단히 감사합니다. 완벽하게 작동합니다! 제 다른 질문도보세요 http://stackoverflow.com/questions/27100456/setting-ns-cert-type-server-for-openvpn-using-phpseclib? 확장 키 사용으로'id-kp-serverAuth'를 설정하는 것과 같지 않습니까? – JohnKiller
Yah - 내가 집에 갈 때 나는 그렇게 할 것이다! 지금 일하고 있어요. 일들이 하루 동안 시작되고있는 것처럼 보입니다. – neubert