Exe-файл не работает в других P C, когда данные базы данных зашифрованы VB2013 - PullRequest
0 голосов
/ 13 января 2020

Я создал настольное приложение с использованием VB 2013, и одно из требований заключается в шифровании файла App.config - файла, в котором сохраняются данные подключения к базе данных (имя пользователя, пароль).

Перед шифрованием App.config, я могу запустить файл .exe в другом p c (буквально копировать-вставить файл .exe), но после шифрования он не работает. Я что-то упустил?

Это то, что находится внутри моего App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings configProtectionProvider="DataProtectionConfigurationProvider">
        <EncryptedData>
            <CipherData>
                <CipherValue>encrypted_data_random_characters</CipherValue>
            </CipherData>
        </EncryptedData>
    </appSettings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
      <CipherData>
        <CipherValue>encrypted_data_random_characters</CipherValue>
      </CipherData>
    </EncryptedData>
  </connectionStrings>
</configuration>

1 Ответ

0 голосов
/ 13 января 2020

DPAPI определяется машиной c. Отчасти дело в том, что что-то зашифрованное на одном компьютере не может быть расшифровано на другом компьютере. Если вы хотите иметь возможность зашифровать один раз и расшифровать в любом месте, то вам нужно будет использовать другой вариант. У меня были ссылки на эти страницы:

Как: зашифровать разделы конфигурации в ASP. NET 2.0, используя DPAPI

Как: зашифровать конфигурацию Разделы в ASP. NET 2.0 Использование RSA

в этой теме:

Защищенная конфигурация (шифрование файлов конфигурации)

с некоторого времени go. Они могут устареть сейчас, но они показывают разницу между этими двумя вариантами даже тогда. Возможно, вам придется искать современную версию / эквивалент опции RSA или шифровать на компьютере, на котором вы хотите расшифровать.

...