Я использую ExchangeSharp для создания микросервиса, позволяющего воссоздать существующие заказы до истечения срока их действия.Моя проблема вращается вокруг ExchangeSharp:
ExchangeSharpConsole.exe
, который шифрует ключи API в .dll для безопасности.Затем ключи извлекаются с помощью простой команды (пример)
myApi.LoadAPIKeys ("C: /keys/EXCHANGENAME_keys.bin");
Однако, когда яперенесите это на мой сервер с локального компьютера, я получаю стандартную ошибку ключа компьютера, поскольку ключ локального компьютера отличается от ключа сервера и / или докера.В прошлом, как мы все знаем, мы просто помещали машинный ключ в web.config, и при развертывании все было хорошо.
Теперь я понимаю, что существует новый способ сделать это в отношениик новой защите данных в .Net Core.Насколько я понимаю, мне нужен постоянный ключ для расшифровки ключей API.
Я читал о DataProtection, но не могу извлечь то, что мне нужно из документов, так как это имеет особый поворот свключенное консольное приложение, выполняющее начальное шифрование.
Компонент имеет возможность загружать ключ API «небезопасно».через
myApi.LoadAPIKeysUnsecure ("string", "string");
Так что мне лучше не использовать их консольное приложение для шифрования ключей и использоватьОсновной способ сделать это?Если это так, КАК выполнить это и поддерживать высокий уровень безопасности?
(К вашему сведению, в идеале, я бы хотел запустить это в докере.)