Ich muss signieren Daten auf meinem Server in PHP, und überprüfen Sie die signierten Daten auf meiner Java-Desktop-Anwendung. Mein Problem ist, dass ich es nicht schaffen, einen Schlüssel zu erzeugen, dass beide Sprachen akzeptieren ...DSA-Algorithmus: Anmelden in PHP
Mein erster Versuch, den Schlüssel mit Java KeyPairGenerator zu erzeugen, war aber wie in that question gezeigt, konnte ich nicht openssl machen zu lesen der Schlüssel.
Jetzt erzeugte ich die Schlüssel mit OpenSSL wie folgt aus:
$openssl dsaparam 512 </dev/random> dsaparam.pem
$openssl gendsa dsaparam.pem -out dsa_priv.pem
$openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem
Ich versuche jetzt etwas mit diesem Code zu unterschreiben:
<?php
$data = "test";
$pkeyid = openssl_pkey_get_private("dsa_priv.pem");
echo openssl_sign($data, $signature, $pkeyid);
echo "<br/>";
echo $signature;
?>
Ergebnis?
openssl_sign(): supplied key param cannot be coerced into a private key in ...
Was mache ich falsch? Kann mir jemand helfen, einen funktionierenden DSA-Schlüssel zu generieren und etwas damit zu signieren?
Ok, ich bin für einen Monat verlassen jetzt so kann ich nicht wirklich versuchen, aber ich glaube, man versucht, und es funktioniert. Vielen Dank ! – Sharcoux
@Sharcoux Ja, ich habe es ausprobiert und es funktioniert :) –