2011-01-04 17 views
0

MSVC++を使用して書かれた自分のソフトウェアのシリアル番号を生成するためにphpを使用する予定です。私はoptiongの方法は、情報をハッシュし、秘密鍵を使用して署名しています。 MSVC++では、ネイティブAPIを使用してRSA公開鍵アルゴリズムで署名されたハッシュを検証できます。 PHPでRSA公開鍵アルゴリズムを使用してハッシュに署名することは可能ですか?RSA公開鍵アルゴリズムを使用した署名

アドバイスをしてください。

よろしく、 ジョン。

答えて

2

phpseclib, a pure PHP RSA implementationをお試しください:

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

$rsa = new Crypt_RSA(); 
extract($rsa->createKey()); 

$plaintext = 'terrafrost'; 

$rsa->loadKey($privatekey); 
$signature = $rsa->sign($plaintext); 

$rsa->loadKey($publickey); 
echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified'; 
?> 

提案された解決策のpoelincaの問題は、それが(MSVC++との相互運用性である可能性が非常に高いつもりはないということ、とりわけ、意味)PKCS#1に準拠していないということです標準化されたキーフォーマットでは動作せず、RSAブラインドを使用しません(つまり、タイミング攻撃を使用して秘密鍵を把握することができます)。