2013-03-31 2 views
0

J'ai le module et l'exposant de la clé publique. Puis-je générer la clé publique avec openssl api en PHP? J'ai lu le http://php.net/manual/en/ref.openssl.php mais il semble qu'il n'y ait aucune fonction qui archive cela.construire le fichier PEM de clé publique avec le module existant et l'exposant en php avec la bibliothèque openssl

Si openssl ne peut pas le faire (construire une clé publique avec module et exposant), puis-je utiliser n'importe quelle option dans php pour faire cela?

+0

Je ne suis pas un expert en PHP. Mais cette approche n'est pas bonne. Il est généralement conseillé de changer la clé publique et la clé privée après une certaine période de temps. Généralement, le certificat a une période de validité. Si vous avez le module et l'exposant, vous avez une clé publique (c'est ce que signifie la clé publique RSA). Si vous avez besoin d'un certificat, vous avez besoin d'une clé privée pour générer la RSC. – doptimusprime

Répondre

1

En utilisant phpseclib, a pure PHP RSA implementation:

<?php 
include('Crypt/RSA.php'); 

$rsa = new Crypt_RSA(); 

$rsa->loadKey(array ('e'=>new Math_BigInteger('65537'), 'n'=>new Math_BigInteger('11944573237954459805614520005393273287786384679965238498958830373752732874397055'. 
'98832111464872863171681422024469555089029360351247093972211786644957214280299847'. 
'26868375359168203283442617134197706515425366188396513684446494070223079865755643'. 
'116690165578452542158755074958452695530623055205290232290667934914919'))); 

echo $rsa; 

La sortie est la suivante:

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVx 
wTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFnc 
CzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0T 
p0GbMJDyR4e9T04ZZwIDAQAB 
-----END PUBLIC KEY----- 
Questions connexes