La mise en œuvre du RSA-SHA1 signature de l'algorithme en Java (création d'une clé privée pour une utilisation avec OAuth RSA-SHA1 signature)

Comme vous le savez, OAuth peut soutenir RSA-SHA1 Signature. J'ai un OAuthSignature interface qui a la méthode suivante

public String sign(String data, String consumerSecret, String tokenSecret) throws GeneralSecurityException;

J'ai réussi a mis en œuvre et testé HMAC-SHA1 Signature (qui prend en charge le protocole OAuth) ainsi que le TEXTE "signature".

J'ai cherché sur google et j'ai créer une clé privée si j'ai besoin d'utiliser SHA1withRSA signature: Exemple de code:

  /**
   * 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();
  }

Maintenant, Comment puis-je prendre le OAuth clé (qui est la clé = consumerSecret&tokenSecret) et de créer un PrivateKey à utiliser avec SHA1withRSA signature?

Grâce


De OAuth Core

9.3. RSA-SHA1

Le RSA-SHA1 signature méthode utilise l'
RSASSA-PKCS1-v1_5 de l'algorithme de signature
comme défini dans [RFC3447] (Jonsson, J.
et B. Kaliski, “à Clé Publique
Normes de cryptographie (PKCS) #1: RSA
La Cryptographie; Les Spécifications De La Version
2.1,” .) la section 8.2 (plus simplement connu comme PKCS#1), à l'aide de l'algorithme SHA-1 comme l'
fonction de hachage pour EMSA-PKCS1-v1_5. Il
suppose que le Consommateur a
pourvu que sa clé publique RSA dans un
vérifié chemin vers le Fournisseur de Service,
dans une manière qui est au-delà de la portée
de cette spécification.

Et je suis maintenant en utilisant cette (http://code.google.com/apis/gdata/docs/auth/oauth.html) comme référence pour faire RSA-SHA1 signature.

InformationsquelleAutor Buhake Sindi | 2010-03-30