Существует ли Windows API (предпочтительно с управляемой оболочкой .NET), который позволяет шифровать данные и дешифровать одни и те же данные только при вызове из того же приложения с цифровой подписью?
Например, у меня есть кэшированный токен безопасности для настольного приложения, которое отправляется на сервер. Этот токен используется при входе в систему, когда пользователь проверяет «Запомнить меня». Я хотел бы зашифровать этот токен, который приложение хранит таким образом, что только мое приложение, зашифровавшее его, может расшифровать его. У меня не может быть ключа / iv, жестко запрограммированного в приложении. Каким-то образом ОС (Windows) должна поддерживать что-то вроде этого, где она использует цифровую подпись в исполняемом файле точки входа для проверки и разрешения дешифрования.
Мне нужно избегать того, чтобы пользователь вводил какие-либо учетные данные для шифрования / дешифрования этого токена. Весь смысл автоматического входа в систему заключается в том, что пользователю не нужно вводить учетные данные.
Да, кэшированный вход в систему представляет собой угрозу безопасности, но ограничение использования токена приложением с цифровой подписью уменьшает открытую площадь.