6

Ich muss den folgenden Code auf WP8 arbeiten, das Problem ist, dass es keine X509Certificate2-Klasse auf WP8 gibt, habe ich versucht mit Hüpfburg Apis, aber ich habe es nicht wirklich geschafft, es zu verstehen aus.X509Certificate2 zu X509Certificate auf Windows Phone 8

Gibt es eine Möglichkeit, diesen Code auf WP8 zu verwenden?

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; 
    } 

Antwort

1

Sie können nicht arbeiten, nur um die Verfügbarkeit von 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; 
    } 

OFFENLEGUNG: Ich kann nicht den Code oben versucht haben, weil ich zur Zeit keine C# Laufzeitumgebung zur Verfügung habe.

+0

Ich werde das versuchen, danke – jjdev80

+0

@ MaryJ. Hast du es dir angesehen? – likeitlikeit

+0

Nein, tut mir leid, ich hatte noch nicht die Zeit, das zu tun – jjdev80