2016-05-30 7 views
2

私は自分のアプリケーションをWalmart Marketplace APIと統合しています。彼らのマニュアルには、あなたが自分でJavaを使っていないと言っているだけです。私のアプリケーションではVB.Netを使用していますが、これは.net言語で実装するために公開しています。その指示から.netの秘密鍵のBASE64、PCKS-8表現をどのようにデコードするのですか?

ログインすることで、このデータのバイト配列表現:あなたの秘密鍵のベース64、PKCS-8表現を復号化

。 キーがPKCS-8を使用してエンコードされていることを確認してください。さまざまな言語のライブラリ は、キーがこの形式であり、 PKCS-1などの他の競合する形式ではないことを指定する機能を提供します。キーのこのバイト表現 を使用して、SHA-256 With RSAを使用してデータに署名します。ベースコードを使用して のシグニチャを符号化します。

この時点では、最初の部分で固まっています。私は.netで秘密鍵を解読する方法を理解できません。私がこれを理解すると、要求に署名する第二の部分に行きます。

私の質問は、これを手伝ってくれるコードスニペットまたはライブラリがあるかどうかです。任意のライブラリを使用するためのサンプルコードもあります。

+0

弾む城を使用して私のために動作します。 –

答えて

-1

それはNuGet.orgでのC#.NET 4.6

using System; 
using System.Security.Cryptography; 
public static string SignData(string stringToBeSigned, string encodedPrivateKey) 
     { 
      string signedData = string.Empty; 
      try 
      { 
       var decodeKey = Convert.FromBase64String(privateEncodedStr); 
       var key = CngKey.Import(decodeKey, CngKeyBlobFormat.Pkcs8PrivateBlob); 
       var alg = new RSACng(key); 
       byte[] data = Encoding.UTF8.GetBytes(stringToBeSigned); 
       byte[] signData = alg.SignData(data, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); 
       signedData = Convert.ToBase64String(signData); 
      } 
      catch (Exception) 
      { 
       throw; 
      } 
      return signedData; 
     } 
+0

RSACngのコンパイルおよびコンストラクタが無効です。 – kevinc

関連する問題