2011-01-04 18 views
0

Ich plane, PHP für die Generierung der Seriennummer für meine Software zu verwenden, die mit MSVC++ geschrieben wird. Die Methode, die ich bin optiong ist Hashing der Informationen und unterschreiben Sie mit privaten Schlüssel. In MSVC++ kann ich einen Hash, der von RSA Public Key Algorithmus signiert wurde, mit nativen APIs verifizieren. Ist es möglich, einen Hash mit dem RSA Public Key Algorithmus in PHP zu signieren?signieren mit RSA Public Key Algorithmus

Bitte um Rat.

Grüße, John.

Antwort

2

Versuchen 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'; 
?> 

Das Problem mit der Lösung poelinca ist vorgeschlagen, dass es nicht PKCS # 1-konform ist (das bedeutet unter anderem, dass es nicht sein würde kompatibel mit MSVC++ sehr wahrscheinlich ist), Es funktioniert nicht mit standardisierten Schlüsselformaten und es verwendet keine RSA-Verblindung (das heißt, man kann Timing-Attacken verwenden, um den privaten Schlüssel herauszufinden).

Verwandte Themen