6

WP8で次のコードを動作させる必要があります。問題はWP8でX509Certificate2クラスがないことですが、弾力のある城apisを使用しようとしましたが、でる。Windows Phone 8のX509Certificate2からX509Certificateへ

WP8でこのコードを動作させる方法はありますか?

private string InitAuth(X509Certificate2 certificate, string systemId, string username, string password) 
    { 
     byte[] plainBytes = Encoding.UTF8.GetBytes(password); 
     var cipherB64 = string.Empty; 
     using (var rsa = (RSACryptoServiceProvider)certificate.PublicKey.Key) 
      cipherB64 = systemId + "^" + username + "^" + Convert.ToBase64String(rsa.Encrypt(plainBytes, true)); 

     return cipherB64; 
    } 

答えて

1

X509Certificate2の可用性を回避することはできませんか?

private string InitAuth(X509Certificate certificate, string systemId, string username, string password) 
    { 
     byte[] plainBytes = Encoding.UTF8.GetBytes(password); 
     var cipherB64 = string.Empty; 

     //Create a new instance of RSACryptoServiceProvider. 
     RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(); 

     //Create a new instance of RSAParameters. 
     RSAParameters RSAKeyInfo = new RSAParameters(); 

     //Set RSAKeyInfo to the public key values. 
     RSAKeyInfo.Modulus = certificate.getPublicKey(); 
     RSAKeyInfo.Exponent = new byte[3] {1,0,1};; 

     //Import key parameters into RSA. 
     RSA.ImportParameters(RSAKeyInfo); 

     using (RSA) 
      cipherB64 = systemId + "^" + username + "^" + Convert.ToBase64String(RSA.Encrypt(plainBytes, true)); 

     return cipherB64; 
    } 

開示:私は現在、私の処分でC#のランタイム環境を持っていないので、私は上記のコードをしようとしませんでした。

+0

私はそれを試します。ありがとう – jjdev80

+0

@MaryJ。あなたはそれを見ましたか? – likeitlikeit

+0

いいえ、申し訳ありませんが、まだそれを行う時間がありませんでした – jjdev80

関連する問題