Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, прошу выслать мне инструкцию по использованию Рутокен в автоматическом режиме, чтобы постоянно не вводить PIN при подписании signtool с не экспортируемым сертификатом.

Еще вопрос, при подписывании файлов часто возникает ошибка:

SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2146881278/0x80093102) ASN1 unexpected end of data.

Подпись делается так:
signtool.exe sign /fd sha256 /f my_cert.cer /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td SHA256 myfile.dll

Если signtool.exe после ошибки вызвать еще раз - подпись успешно создается.
Как с этим бороться?

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, exeyer,
отправили вам инструкцию на почту, указанную при регистрации.
Про ошибку не можем подсказать, так как с такой не сталкивались.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Эмпирическим путем установлено, что проблема в timeserver http://timestamp.globalsign.com/tsa/r6advanced1.
Если заменить, к примеру, на http://timestamp.sectigo.com, "Error: SignerSign() failed." (-2146881278/0x80093102) у меня исчезла.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Добрый день. Могу ли я получить инструкцию по использованию Рутокен в автоматическом режиме без ввода PIN при подписании signtool с не экспортируемым сертификатом? Спасибо.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, Sergey Bereznikov, отправили вам инструкцию на почту, указанную при регистрации.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Набросал на C# (.NET Framework 4.8) простой пример подписи дайджеста, аналогичный signtool /ds. Возможно, пригодится кому-нибудь.

using System;
using System.IO;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

namespace TestSignDigest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine("Usage: TestSignDigest <digest_file.dig> <cert_thumbprint>");
                return;
            }

            try
            {
                var digestBytes = Convert.FromBase64String(File.ReadAllText(args[0]));

                using (var store = new X509Store(StoreName.My, StoreLocation.CurrentUser))
                {
                    store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

                    var certs = store.Certificates.Find(X509FindType.FindByThumbprint, args[1], true);
                    if (certs.Count > 0)
                    {
                        var rsa = (RSACryptoServiceProvider)certs[0].PrivateKey;
                        var signatureBytes = rsa.SignHash(digestBytes, CryptoConfig.MapNameToOID("SHA256"));
                        if (signatureBytes != null)
                        {
                            var signatureString = Convert.ToBase64String(signatureBytes);
                            if (!string.IsNullOrEmpty(signatureString))
                            {
                                Console.WriteLine(signatureString);

                                File.WriteAllText(args[0] + ".signed", signatureString);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
    }
}

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Аналогичная ситуация, как и у многих. Только для подписи используется свое приложение.
Причем, при запуске из интерактивной сессии ошибок нет, возникает только при запуске как служба (служба запускается от пользователя имеющего хэш пароля).

Не подписываются большие файлы. В данном случае размер "___Library.exe" 1,4Гб.

Подписываем - D:\Source\SourceTest\___.Calculator.dll
+ Файл успешно подписан.
Подписываем - D:\Source\SourceTest\___.Common.dll
+ Файл успешно подписан.
Подписываем - D:\Source\SourceTest\___.Common.Web.Client.dll
+ Файл успешно подписан.
Подписываем - D:\Source\SourceTest\___.Common.Web.dll
+ Файл успешно подписан.
Подписываем - D:\Source\SourceTest\___.Native.dll
+ Файл успешно подписан.
Подписываем - D:\Source\SourceTest\___Library.exe
- Ошибка подписи файла. Код - 1 
The following certificate was selected:
    Issued to: LLC ___
    Issued by: GlobalSign GCC R45 CodeSigning CA 2020
    Expires:   Sun Feb 21 14:57:34 2027
    SHA1 hash: ...8D5...02C...F1D...383C0...B2EB1A3FD...
Done Adding Additional Store
SignTool Error: The specified private key container was not found.

P.S. Имена файлов замаскировал.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, прошу выслать мне инструкцию по использованию Рутокен в автоматическом режиме, чтобы постоянно не вводить PIN при подписании signtool с не экспортируемым сертификатом.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, mint86,
отправили вам инструкцию на почту, указанную при регистрации.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, прошу выслать мне инструкцию по использованию Рутокен в автоматическом режиме, чтобы постоянно не вводить PIN при подписании signtool с не экспортируемым сертификатом.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, andreypetrov,
отправили вам инструкцию на почту, указанную при регистрации.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Добрый день. Прошу выслать мне инструкцию по использованию Рутокен в автоматическом режиме (с закешированным PIN) при подписании signtool с не экспортируемым сертификатом. Спасибо.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, lrv, отправили вам инструкцию на почту, указанную при регистрации.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, прошу выслать мне инструкцию по использованию Рутокен в автоматическом режиме, чтобы постоянно не вводить PIN при подписании signtool с не экспортируемым сертификатом.

Re: Использование signtool c Рутокен ЭЦП 3.0 с не экспортируемым сертифика

Здравствуйте, прошу выслать инструкцию по использованию Рутокен в автоматическом режиме, чтобы постоянно не вводить PIN при подписании signtool с неэкспортируемым сертификатом.