Отсутствует использование пароля при работе с менеджером криптографии
В алгоритмах ЭЦП для подписи используется секретный ключ, а для проверки используется открытый ключ. Таким образом, любой может проверить, действительно ли данный пользователь поставил данную подпись. Тем самым асимметричные алгоритмы обеспечивают не только целостность информации, но и её аутентичность. При шифровании наоборот, для шифрования сообщения используется открытый ключ, а для расшифровывания — секретный. Таким образом, расшифровать сообщение может только адресат и больше никто (включая отправителя).
В случае отсутствия пароля злоумышленник может получить расшифровать данные без ведома владельца.
Неправильно:
МенеджерКриптографии.Зашифровать(ДвоичныеДанныеСертификата, СертификатКриптографии);
Правильно:
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "123";
МенеджерКриптографии.Зашифровать(ДвоичныеДанныеСертификата, СертификатКриптографии);
Экранирование кода
// sonar:PrivateKeyAccessPassword:off
// sonar:PrivateKeyAccessPassword:on