Digicert Code Signing - проблема підпису в застарілих ОС

Проблема

Нещодавня зміна в ієрархії довіри для підпису коду DigiCert призвела до того, що деякі застарілі операційні системи не довіряли правильно підписаному коду та відображали попередження.

Помилка перевірки підпису автентикоду з новою перехресною міткою часу

У червні 2022 року DigiCert представив новий перехресний корінь «DigiCert Trusted Root G4» для вирішення проблем сумісності із застарілими клієнтами з міткою часу. Запровадження перехресного кореня полягало в тому, що сертифікат часової позначки зв’язувався з більш поширеним коренем, який уже був присутній у кореневих сховищах застарілих систем.

У рамках цієї зміни новий крос-корінь включав лише атрибут EKU Time Stamping (1.3.6.1.5.5.7.3.8). Оскільки цей перехресний корінь також використовуватиметься як частина ланцюжка цифрового підпису, Windows не зможе перевірити ланцюжок сертифіката підпису коду через обмежений EKU.

Під час перевірки даних цифрового підпису на застарілих платформах можуть з’явитися помилки, подібні до наведених нижче:

"Сертифікат недійсний для запитаного використання"

"Здається, цей сертифікат недійсний для вибраної мети"

-------------

Рішення

Щоб вирішити цю проблему, DigiCert опублікував новий тимчасовий міжкореневий центр сертифікації. Для використання цього нового ЦС потрібно змінити процес підписання.

Це тимчасовий обхідний шлях для вирішення цієї проблеми, створено ще один крос-корінь спеціально для використання з цифровим підписом. Він містить правильний код підпису (1.3.6.1.5.5.7.3.3) EKU для проходження перевірки підпису Windows.

 

Ви можете завантажити його тут: digicert-g4-to-haevrca-codesigningcrosscert.crt

 

CodeSigning Cross Root

Serial: 0fd1bbca796bd7f8dd4c82e10a9a9631

Valid From: Jan 13 00:00:00 2022 GMT

Valid To: Nov 9 23:59:59 2031 GMT

Новий ICA «DigiCert Trusted Root G4» був перехресно підписаний «DigiCert High Assurance EV Root CA» лише з кодовим підписом EKU.

 

Timestamping Cross Root

Serial: 01240afb1e380b8a16f14b719df4d3c0

Valid From: Jun 9 00:00:00 2022 GMT

Valid To: Nov 9 23:59:59 2031 GMT

Новий ICA «DigiCert Trusted Root G4» був створений і перехресно підписаний «DigiCert Assured ID Root CA» лише з міткою часу EKU.

 

Підписання коду з новим перехресним підписом проміжного ICA повинно вирішити проблему. Якщо для підпису коду використовується Signtool, передайте параметр /ac у команді підпису:

signtool sign /ac DigiCert-G4-to-HAEVRCA-CodeSigningCrossCert.crt /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a "c:\path\to\file_to_sign.exe"

Переконайтеся, що файл було правильно підписано за допомогою цієї команди: signtool verify /pa signed_file.exe

 

Джерело: https://knowledge.digicert.com/solution/authenticode-signature-verification-fails-with-new-timestamping-cross-root.html?om_ext_cid=dc_email_7014z000001p3BtAAI_10783&mth=July%2C%202022