Как стать автором
Обновить

Комментарии 7

Прежде чем использовать эту штуку, её нужно сертифицировать в ФСБ т.к. это по сути является СКЗИ (реализует ГОСТ алгоритмы).
Плюс там не мало требований к самой эксплуатации :) По большому счету из-за этого все и используют платные, т.к. они сертифицированные и проблем с ними не возникнет :)

У нас тип организации — «фонд», есть связь с некоторыми «департаментами * Москвы». Была у нас идея использовать ЕСИА для электронного подписания документов. Но, насколько я знаю, идея не то, что «не взлетела», она даже «от терминала не отъехала».

Самая большая проблема была в том, что мы нигде не могли найти подробностей, как это вообще должно работать, к кому и куда обращаться, какие программные реализации допустимо использовать. И если доступ к есиа мы и сможем получить, то не очень понятно, что с ним дальше-то делать?

И вот, Вы упомянули, что «все … используют платные». Если это не секрет, не подскажете, что это за «платные штуки»? Это не что-то в роде мегафноID? Ну, или, может быть знаете, в какую компанию обращаться, где все это уже умеют делать?

Калуга Астрал, Астрал-СОФТ, Тензор, Контур, Тинькофф, Такском, 1С - эти компании на ГОСТ алгоритмах собаку съели на ЭДО и не только :) Есть еще ИнфоТеКС которая разрабатывает один из криптопровайдеров VipNet. Или можно сразу к криптопро :)

То есть, все перечисленные занимаются реализацией подобных проектов на заказ? И можно просто обратиться, например, в тот же Такском? О «Контуре», если честно, по опыту только самые негативные впечатления, по крайней мере, об их API-подразделении. А «1С» - понятно, не сама, а кто-то из партнеров? «Рарус»?

Насчет того принимают ли заказы на разработку не смогу сказать, но эти компании с этим достаточно плотно работают, поэтому есть соответствующие компетенции :) попробуйте связаться с ними через отделы продаж

Интеграция с ЕСИА на Node.js без CryptoPro [2024]

Попробуем наш свежеиспеченный ключ в деле и попробуем что-нибудь им подписать.

А какой криптопровайдер вы используете для формирования подписи, если в системе нет CSP, реализующих ГОСТ-овские алгоритмы?

В свободном доступе есть библиотека node-gost-crypto. В ней реализованы все ГОСТовские алгоритмы и ее можно вызывать прямо в ноде без дополнительных установленных криптопровайдеров.

Вот код из статьи. Он принимает на вход сообщение и ключи, а на выходе генерирует ГОСТовскую подпись, которая ничем не отличается от подписи, сгенерированной в КриптоПро. Можете сами проверить ?

const fs = require('fs');
const { gostCrypto } = require('./lib');

const sign = async (text) => {
    var content = gostCrypto.coding.Chars.decode(text, 'utf-8');

    var key = new gostCrypto.asn1.PrivateKeyInfo(fs.readFileSync('final.key').toString());
    var cert = new gostCrypto.cert.X509(fs.readFileSync('final.crt').toString());

    msg = new gostCrypto.cms.SignedDataContentInfo();
    msg.setEnclosed(content);
    msg.writeDetached(true);
    msg.content.certificates = [cert];
    await msg.addSignature(key, cert, false);

    return Buffer.from(msg.encode('DER'))
}
sign('helloworld').then(res => res.toString('base64url')).then(console.log)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории