Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline MIkhailF  
#1 Оставлено : 11 октября 2023 г. 14:53:22(UTC)
MIkhailF

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.08.2022(UTC)
Сообщений: 49
Российская Федерация
Откуда: Спб

Добрый день
Для доступа к сайте есть код клиента, в котором для авторизации надо вычислить ЭЦП CMS. Есть такой код на C#:
Код:
 var signedCms = new SignedCms(new ContentInfo(contentBytes), false);
                    signedCms.ComputeSignature(new CmsSigner(_certificate), true);
                    var cmsBytes = signedCms.Encode();
                    var cmsStr = Convert.ToBase64String(cmsBytes);  

Этот код работает - он генерирует CMS, который нормально съедается сайтом. Я написал такой код на Java:

Код:

import java.security.Signature;

import java.security.cert.*;
....
private byte[] signMessage(String algoName, PrivateKey privateKey, String msg) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidKeyException, SignatureException {
        String algoName = JCP.GOST_DH_2012_256_NAME;
        Signature signer = Signature.getInstance(algoName, JCP.PROVIDER_NAME);
        signer.initSign(privateKey);
        signer.update(msg.getBytes());
        return signer.sign();
}


Но я вижу, что подпись получается совсем другой, даже на глаз. И, соответственно, эту подпись сайт не ест. Что я делаю не так? Заранее спасибо
Какой алгоритм следует указать, если в коде C# тип ключа возвращает "1.2.643.7.1.1.1.1"(_certifcate.GetKeyAlgorithm())?
Какого указать провайдера?

Отредактировано пользователем 11 октября 2023 г. 17:59:44(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.