Die Implementierung der RSA-SHA1-Signatur-Algorithmus in Java (erstellen eines privaten Schlüssels für den Einsatz mit OAuth RSA-SHA1 Signatur)
Wie Sie wissen, OAuth kann die Unterstützung von RSA-SHA1-Signatur. Ich habe eine OAuthSignature
- Schnittstelle, die folgende Methode
public String sign(String data, String consumerSecret, String tokenSecret) throws GeneralSecurityException;
Habe ich erfolgreich implementiert und getestet-HMAC-SHA1-Signatur (die OAuth Unterstützt) sowie die KLARTEXT "Signatur".
Ich habe gesucht google, und ich habe so erstellen Sie einen privaten Schlüssel, wenn ich SHA1withRSA
Signatur: Beispielcode:
/**
* Signs the data with the given key and the provided algorithm.
*/
private static byte[] sign(PrivateKey key,
String data)
throws GeneralSecurityException {
Signature signature = Signature.getInstance("SHA1withRSA");
signature.initSign(key);
signature.update(data.getBytes());
return signature.sign();
}
Nun, Wie kann ich den OAuth-Schlüssel (die Schlüssel = consumerSecret&tokenSecret) und erstellen Sie ein PrivateKey
zu verwenden mit SHA1withRSA
Signatur?
Dank
Vom OAuth-Core
9.3. RSA-SHA1
Den RSA-SHA1-Signatur-Methode verwendet die
RSASSA-PKCS1-v1_5 Signatur-Algorithmus
wie definiert in [RFC3447] (Jonsson, J.
und B. Kaliski, “Public-Key
Cryptography Standards (PKCS) #1: RSA
Kryptographie; Spezifikationen Version
2.1," .) Abschnitt 8.2 (mehr einfach als bekannt PKCS#1), der mit SHA-1 als
hash-Funktion für die EMSA-PKCS1-v1_5. Es
wird davon ausgegangen, dass die Verbraucher
seinen öffentlichen RSA-Schlüssel in einer
überprüft Weg zum Service-Provider
in einer Weise, die über den Rahmen
dieser Spezifikation.
Und ich bin jetzt mit diesem (http://code.google.com/apis/gdata/docs/auth/oauth.html) als Referenz zu tun, RSA-SHA1-Signatur.
InformationsquelleAutor Buhake Sindi | 2010-03-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welche API ist die
OAuthSignature
Schnittstelle aus? Ist es möglich, dass dietokenSecret
parameter ist nicht notwendig, für RSA-Signaturen?OAuthSignature
ist meine eigene Schnittstelle. Und Sie sind richtig, Mit Google-Beispiel (code.google.com/apis/gdata/docs/auth/oauth.html) Es scheint, dass es nicht erforderlich ist, Token Secret.InformationsquelleAutor Kevin
Scheint das RSA-SHA1 tut nicht brauchen, das consumer-secret finden Sie die Jersey-Implementierung hier https://svn.java.net/svn/jersey~svn/trunk/jersey/contribs/jersey-oauth/oauth-signature/src/main/java/, die Klasse com.Sonne.jersey.oauth.Unterschrift.RSA_SHA1.
InformationsquelleAutor Michael Zheng