2016-10-01 15 views
0

このコードを使用してバイトストリームからX509 PublicKeyを取得しようとしています。C#バイトストリームからX509 PublicKeyを取得する方法

[Fact] 
public void CreatePublicKeyParameters__ShouldReturnPublicKey__WhenPassPublicKeyBytes() 
{ 
    ApplePay applePay = new ApplePay(new MOBSHOPApplePayRequest()); 
    byte[] privateKey = Base64.Decode("MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjyo3fzxT7j+CFxC7I4B5iVee2FUyn2vfOSjcgp2/g6qhRANCAARdoBFEtnuapXFKw4DYWsW0yV4bavpdWKszkefi19AhlIRE3WSNWSn25W5tZNFjMWtLISBmqANyufx2xP19oRvy"); 
    var publickey = applePay.CreatePublicKeyParameters(privateKey); 
} 

public AsymmetricKeyParameter CreatePublicKeyParameters(byte[] ephemeralPublicKeyBytes) 
{ 
     return (ECPublicKeyParameters)PublicKeyFactory.CreateKey(ephemeralPublicKeyBytes); 
} 

エラー基本的に

​​

次の取得、私は私を助けてくださいC#

public ECPublicKey CreatePublicKeyParameters(byte[] ephemeralPublicKeyBytes) 
    { 
    KeyFactory keyFactory = KeyFactory.getInstance("ECDH", "BC"); 
    X509EncodedKeySpec encodedKeySpec = new X509EncodedKeySpec(ephemeralPublicKeyBytes); 
    ECPublicKey ephemeralPublicKey = (ECPublicKey) keyFactory.generatePublic(encodedKeySpec); 
    return ECPublicKey 
    } 

に、この次のJavaコードを変換しようとしています。

答えて

0

申し訳ありませんが、テスト入力データが間違っていました。これは以下のテストケースの下で動作しています。

[Fact] 
     public void CreatePublicKeyParameters__ShouldReturnPublicKey__WhenPassPublicKeyBytes() 
     { 

      ApplePay applePay = new ApplePay(new MOBSHOPApplePayRequest()); 
      byte[] privateKey = Base64.Decode(
       "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl/XAbOgrSCupps/QbIxJ3u4QZ1PlbO5uGDD1zj/JGMoephYSEgw+63gHQHekx3T8duXN3CoYafUpuQlwOeK6/w=="); 
      var publickey = applePay.CreatePublicKeyParameters(privateKey); 
     } 

おかげ

関連する問題