Зміни процедури видачі сертифіката для підпису коду у Certum

image

Можливо, деякі читали про послугу, що надається польською компанією Certum open source розробників: недорогий сертифікат для підпису коду цієї статті (якщо ні, то прочитайте).

На жаль, деякі речі в світі з часом стають гірше або дорожче (або і те, і інше разом). Безкоштовна послуга Certum-а перетворилася на платну (сертифікат став коштувати €14.00, а з лютого цього року — €28.00), плюс з цього року процедура генерації пари ключів змінилася. Ось про це я і хочу написати.

Я досить давно (з 2010 року) користуюся сертифікатами Certum для підпису своїх додатків, але в цьому році, за певної причини, мені потрібен був новий сертифікат (а не оновлення попереднього). Не передбачаючи ніякого підступу, я заплатив 14 євро через PayPal, заповнив анкету і відправив скани документа (правда, на цей раз причіпок було трохи більше, але все врешті-решт «устаканилось»), і активував сертифікат через web-форму на сайті Certum (через Chrome). Мене відразу ж збентежило те, що не було запиту на генерацію пари ключів. І, природно, виданий мені ключ не містив private key.

Зізнаюся відразу, я далекий від технологій інформаційної безпеки; раніше вся процедура проходила гладко й отримання .pfx сертифіката не викликало якихось питань (хоча не можу зараз в точності пригадати, як було раніше). Після звернення в службу підтримки, з'ясувалося, що інсталяцію/створення сертифіката потрібно проводити тільки в Internet Explorer-е, і обов'язково потрібна smart card через стандартну підсистему Windows (виводиться стандартний діалог із запитом smart card).

image

Оце так номер! Ніколи до цього моменту я особисто не стикався зі смарт-картами (не рахуючи карт, що використовуються для входу в компанії). «Гугление» видало мені купу статей з незрозумілими абревіатурами; чесно кажучи, розбиратися дуже не хотілося, але трохи довелося. Спочатку з'ясувалося, що начебто існують віртуальні смарт карти, притому «искаропки», від Microsoft, але для цього на комп'ютері повинен бути включений TPM (BIOS). У мене таких налаштувань на BIOSTAR-івської «материнці» не спостерігалося, мабуть, тому, що не був включений secure boot (але експериментувати я не став, щоб уникнути втрати всіх даних. Можливо, я був не прав, і ця процедура безпечна, але я прихильник правила «працює — не чіпай!»). Пошук рішень від third party теж був безуспішним: те, що за словами творців, повинна була б працювати в Windows 7 (свіже я не знайшов), відмовлялося працювати в Windows 10.

Врешті-решт, проблема була вирішена купівлею такого USB token-а від PIVKey (до речі, він обійшовся мені в $9.52: був куплений used, від Amazon-івського warehouse).

image

Токен цей мені сподобався: заробив, що називається, «з пів-стусана» (правда, після установки минидрайвера і утиліти управління з сайту виробника), і прекрасно відпрацював у процедурі генерації ключів на сайті Certum! До речі, цей маркер має 30 слотів для зберігання секретної інформації (приватних ключів і сертифікатів) обсягом 24 Кбайт, і 6-значний пін-код.

Private key, правда, записується не експортуються (що, мабуть, правильно), тому для генерації ключа підпису, потрібно буде скористатися стандартною процедурою Windows:
  • проінсталювати сертифікат з public ключем, отриманий від Certum
  • вставити маркер в USB порт
  • виконати наступну команду: certutil -exportPFX -p [ваш_пароль_сертификата] my "[серийный_номер_сертификата]" [ім'я].pfx
  • ввести пін-код сертифіката (factory default «000000» ви можете змінити цією утилітою від виробника)
Після чого отриманий сертифікат може бути використаний для підпису ваших програм через Visual Studio IDE, або через утиліти командного рядка (наприклад, signtool.exe). Так, кожен раз знадобиться USB-токен.

P. S. Можливо, фахівці з інформаційної безпеки посміхнуться моєї наївності, читаючи цей текст, але мій пост для них і не призначений. Я просто хочу трохи полегшити життя і зберегти час програмістам open source :)
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.