шифрование с использованием protectedData.protect в Windows Phone 7.1

Я разрабатываю приложение для Windows Phone 7, в котором я отправляю зашифрованные данные в веб-службу, которая их расшифровывает. Я использую protectedData.protect, который работает правильно только до тех пор, пока я шифрую и расшифровываю из своего приложения (только для тестирования); как только я использую веб-сервис, поведение меняется.

Это код из веб-сервиса:

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

person Alaa.Ali    schedule 22.02.2012    source источник
comment
Можете ли вы объяснить больше, что происходит? Когда это работает, а когда не работает? Когда это не работает, какой результат вы получаете?   -  person Nate    schedule 25.02.2012
comment
Когда я запускаю функции шифрования и дешифрования из своего приложения, оно работает правильно, и я делаю это только для тестирования функций шифрования/дешифрования. Но когда я шифрую через свое приложение и отправляю зашифрованную строку в веб-сервис, веб-сервис не расшифровывает должным образом. и это реальный сценарий.   -  person Alaa.Ali    schedule 26.02.2012


Ответы (1)


Это невозможно, так как класс ProtectedData в Windows Phone использует учетные данные устройства для шифрования данных, их можно расшифровать только на этом устройстве.

В Silverlight для Windows Phone учетные данные пользователя и компьютера используются для шифрования или расшифровки данных.

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

person Will    schedule 27.03.2012
comment
ну это объясняет!! Сейчас я использую альтернативу, но ДЕЙСТВИТЕЛЬНО важно знать, спасибо Уилл :) - person Alaa.Ali; 28.03.2012