Пакетний файл зупиняється з повідомленням «Система не вдалося знайти вказаний розділ або значення реєстру», і всі вважають, що центр сертифікації зламаний. Це не так, або принаймні поки що не так: скрипт завершився помилкою під час пошуку програмного забезпечення, перш ніж попросити Easy-RSA щось зробити з ключем. Цей порядок важливий, бо означає, що виправлення — це проблема пошуку, а PKI лише спостерігач. Прочитати рядок, що не спрацював, — це весь діагноз, і це швидше за будь-який обхідний шлях.

Помилка виникає до того, як CA буде зачеплено

Старі пакетні файли Easy-RSA 2 знаходять OpenSSL або встановлення OpenVPN запитом до реєстру, а потім задають змінні за знайденим. Якщо запит нічого не повертає, скрипт переривається до виконання будь-якої операції з сертифікатом.

Отже, повідомлення про ключ реєстру — це доказ про середовище скрипта, а не про каталог CA.

Два подання реєстру, один пакетний файл

32-бітний і 64-бітний процеси можуть бачити різні подання реєстру, і пакетний файл, що виходить з одного, може пропустити запис, який є в іншому. Ці порівняння лише для читання показують різницю для старого ключа, який використовують деякі старі скрипти:

reg query "HKLM\SOFTWARE\OpenVPN" /reg:32
reg query "HKLM\SOFTWARE\OpenVPN" /reg:64

Довідка reg query описує селектори подання. Запустіть обидві команди в тому самому контексті, що й скрипт, який не спрацював, бо подання залежить від того, як запускається процес, а також від прапорців. Якщо запис є лише в одному поданні, порівняйте шлях, на який він указує, зі встановленими інструментами, перш ніж щось змінювати. Ключ, який існує, але вказує на старий каталог встановлення, — це інша несправність, ніж відсутній ключ.

Якщо запису немає в жодному поданні, інсталятор його ніколи не створював, і створене вручну значення не змусить інструменти працювати.

Не додавайте /reg:64 без умов

Спокусливе виправлення — додати 64-бітний селектор до кожного запиту й рухатися далі. У деяких встановленнях це правильно, в інших це надсилає скрипт у подання, де справді нічого немає.

Змінюйте пошук лише після того, як побачите, у якому поданні є очікуване значення.

Виявлення — це не ремонт PKI

Ця помилка не доводить, що сертифікат CA, ключ підпису, файл серійних номерів або база відкликання пошкоджені. Запуск clean-all, скопійованого зі старого посібника, знищить зовсім інший набір об'єктів, а пошук залишиться зламаним. Тримайте ці дві дії окремо в голові та в заявці. Якщо пізніше операція з сертифікатом не вдасться, оцінюйте її за її власними доказами.

Зробіть резервну копію каталогу CA перед будь-яким експериментом, навіть якщо впевнені, що він лише для читання.

Перехід на Easy-RSA 3 — це міграція

Установка, яку підтримують, має використовувати власний засіб запуску та модель конфігурації поточного пакета, і Easy-RSA 3 — це не той самий робочий процес із пакетними файлами, що й Easy-RSA 2. Його швидкий старт для нового PKI не є інструкцією з міграції для наявного центру. Перш ніж змінювати версії, збережіть матеріал CA, а також записи видачі й відкликання, і дотримуйтеся вказівок з оновлення цієї версії. Ініціалізація замінного CA в авторитетному каталозі, щоб помилка виявлення інструментів зникла, — найгірший варіант у списку.

Зміна версії — це проєкт; помилка реєстру — це півдня.

Порівняння, яке справді це вирішує

Запишіть чотири речі й порівняйте їх безпосередньо:

  • Який скрипт запускався й який рядок не спрацював.
  • Яке подання реєстру запитував цей рядок.
  • Який шлях до виконуваного файлу очікував скрипт.
  • Яке встановлення насправді є на машині.

Коли ці чотири збігаються, помилка зникає, і будь-яку залишкову проблему з сертифікатом можна читати за її власними доказами, а не звинувачувати CA.

Схожі статті