1. Доступ у нас есть, завтра человек с доступом скачает свежий SDK
2. Суть в том, что проверка подписи происходит на стороне ЭСФ (
92.46.122.150:8443/esf-web/login), на нашей стороне (C# + C Kalkan; libeay32.dll & ssleay32.dll) идёт формирование данных и их подпись. Так вот подпись на стороне ЭСФ (там Java Kalkan) и не прошла проверку. При разборе деталей выяснили разницу в используемых алгоритмах, они при проверке используют ECGOST34310, и нам нужно понять что ему соответсвует в Калкане для С.
3. Получается что ECGOST34310 это "id-Gost34311-95-with-Gost34310-2004"? Проблема в том, что функция EVP_get_digestbyname его "не видит", дайте пример хоть на голом С как с ним дайджест построить. Или вытягивать его через EVP_get_digestbynid(925)?
Сейчас наш C# код выгдядит так:
var bio = OpenSSL.Core.BIO.File(signCertificatePath, "r");
var signX509Cert = OpenSSL.X509.X509Certificate.FromPKCS12(bio, authCertificatePassword);
var digest = MessageDigest.CreateByName("GOST 34.311-95");
var context = new MessageDigestContext(digest);
var signature = Convert.ToBase64String(context.Sign(Encoding.UTF8.GetBytes("123"), signX509Cert.PrivateKey)); //123 is a test data