1

暗号化されたデータを復号化するWebサービスに送信するWindows Phone 7アプリケーションを開発しています。私はprotectedData.protectを使用していますが、これは私のアプリケーション(テスト専用)から暗号化と復号化を行っている限り正常に動作しています。一度私はwebserviceを使用して動作が変更されます。Windows Phone 7.1でprotectedData.protectを使用した暗号化

これは、Webサービスからのコードです:

If Flag = False Then ' Decrypt 
    Dim ProtectedPinByte As Byte() = Encoding.UTF8.GetBytes(password) 
    Dim PinByte2 As Byte() = ProtectedData.Unprotect(ProtectedPinByte, Nothing, DataProtectionScope.CurrentUser) 
    password = Encoding.UTF8.GetString(PinByte2, 0, PinByte2.Length) 
    Return Bll.Utilites.EncryptDecryptStr(True, password) 'Encrypts using another algorithm 
Else ' Encrypt 
    EncPassword = Bll.Utilites.EncryptDecryptStr(False, password) 'decrypts from another algorithm 
    Dim PinByte As Byte() = Encoding.UTF8.GetBytes(EncPassword) 
    Dim ProtectedPinByte As Byte() = ProtectedData.Protect(PinByte, Nothing, DataProtectionScope.CurrentUser) 
    Return Encoding.UTF8.GetString(ProtectedPinByte, 0, ProtectedPinByte.Length) 
End If 
+0

あなたはより多くの何が起こるか説明できますか?いつこの機能が働き、いつ機能しませんか?それがうまくいかないときは、どのような出力を得ますか? – Nate

+0

私はアプリケーションから暗号化と復号化機能を実行するとき、正しく動作し、暗号化/復号化機能をテストするためにのみ行います。しかし、私は私のアプリケーションを介して暗号化し、Webサービスに暗号化された文字列を送信すると、Webサービスは正しく復号化しません。これが実際のシナリオです。 –

答えて

1

のWindows PhoneのProtectedDataクラスは、それだけでそのデバイス上で復号化することができ、データを暗号化するために、デバイスの資格情報を使用していますので、これは不可能です。

Silverlight for Windows Phoneでは、ユーザーとマシンの両方で、データの暗号化または復号化に資格情報が使用されます( )。

http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata(v=vs.96).aspx

+1

まあ、これはそれを説明する!今代替案を使用していますが、本当に知っておくことが大切です。ありがとうございます:) –

関連する問題