Frage

Ich habe zwei XML-Dateien, wie folgt aufgebaut:

My Key

<RSAKeyValue>
  <Modulus> ... </Modulus>
  <Exponent> ... </Exponent>
  <P> ... </P>
  <Q> ... </Q>
  <DP> ... </DP>
  <DQ> ... </DQ>
  <InverseQ> ... </InverseQ>
  <D> ... </D>
</RSAKeyValue>

A Public Key

<RSAKeyValue>
   <Modulus> ... </Modulus>
   <Exponent> ... </Exponent>
</RSAKeyValue>

Ich bin mit der xmlseclibs Bibliothek von Robert Richards, die eine .PEM Darstellung der Schlüssel, um den Ver- und Entschlüsselung Dinge erfordern.

Als Verschlüsselung Anfänger, ich bin nicht sicher, wo man anfangen soll, und eine oberflächliche Google-Suche ergab keine etwas besonders deutlich ...

Danke!

War es hilfreich?

Lösung

Ich habe ein Java-Dienstprogramm das kann gefunden tun es.

Andere Tipps

Für diejenigen, die die resultierende PEM sein wollen lesbar von BouncyCastle :

  1. verwenden XMLSec2PEM Tool eine pem-Datei zu erhalten
  2. convert pem zu pkcs8 und zurück (!)

Die Endlösung Ich bin glücklich mit:

  1. java XMLSec2PEM my.xml > my.pem
  2. bearbeiten my.pem manuell ein bisschen
  3. org.bouncycastle.openssl.PEMReader.readObject() kehrt null: - (
  4. openssl pkcs8 -topk8 -inform pem -in my.pem -outform pem -nocrypt -out my.pkcs8
  5. openssl pkcs8 -inform pem -nocrypt -in my.pkcs8 -out my.pkcs8.pem
  6. jetzt my.pkcs8.pem lesbar mit dem PEMReader

Ich war für genau das gleiche Problem stundenlang suchen. Das Java-Tool hat seine Aufgabe erfüllt:)

Aber die Linksetzung verändert hat, ist es jetzt von hier

Wir haben dieses nützliche Online-Tool RSA Key Converter , die Stützen

  • XML -> PEM
  • PEM -> XML

Da xmlseclibs ist PHP scheint es wie eine andere PHP-Lösung wünschenswert sein könnte. Hier ist, wie:

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

$rsa = new Crypt_RSA();
$rsa->loadKey('<RSAKeyValue>
  <Modulus> ... </Modulus>
  <Exponent> ... </Exponent>
  <P> ... </P>
  <Q> ... </Q>
  <DP> ... </DP>
  <DQ> ... </DQ>
  <InverseQ> ... </InverseQ>
  <D> ... </D>
</RSAKeyValue>');

$privatekey = $rsa->getPrivateKey();
$publickey = $rsa->getPublicKey();
?>

phpseclib hat Unterstützung für XML-Tasten, PuTTY Tasten und PKCS1 Tasten gebaut. Es wird automatisch das Format erkennen und laden Sie es und getPrivateKey / getPublicKey ausgeben wird PKCS1 formatiert Tasten standardmäßig, wenn keine Parameter vorhanden sind. Weitere Informationen:

http://phpseclib.sourceforge.net/rsa/examples.html#convert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top