Це команда reqssl, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
req - PKCS#10 запит на сертифікат і утиліта для створення сертифікатів.
СИНТАКСИС
OpenSSL REQ [-інформувати PEM|DER] [-форма PEM|DER] [-в ім'я файлу] [-пассін аргумент] [-від
ім'я файлу] [- прохід аргумент] [- текст] [-пабключ] [-ноут] [- перевірити] [- модуль] [-новий] [-ранд
файл (и)] [-новий ключ RSA: біти] [-новий ключ alg: файл] [- вузли] [-кілька ім'я файлу] [- ключова форма PEM|DER]
[- ключ ім'я файлу] [-keygen_engine id] [-[переварити]] [-config ім'я файлу] [-багатозначний-rdn]
[-х509] [-день n] [-set_serial n] [-asn1-kludge] [-no-asn1-kludge] [-newhdr] [- розширення
розділ] [-запити розділ] [-utf8] [-намеопт] [-звіт] [-предмет] [-субй аргумент] [- партія]
[-вербозний] [- двигун id]
ОПИС
Команда REQ Команда в основному створює та обробляє запити на сертифікати у форматі PKCS#10. Це
може додатково створювати самопідписані сертифікати для використання, наприклад, як кореневих ЦС.
КОМАНДА ВАРІАНТИ
-інформувати DER|PEM
Це визначає формат введення. The DER Опція використовує форму, закодовану ASN1 DER
сумісний з PKCS#10. The PEM Форма – це формат за замовчуванням: він складається з
DER формат base64, закодований додатковими рядками верхнього та нижнього колонтитулів.
-форма DER|PEM
Це визначає вихідний формат, параметри мають те саме значення, що й -інформувати
варіант.
-в ім'я файлу
Це вказує ім'я вхідного файлу для читання запиту або стандартне введення, якщо це
опція не вказана. Запит читається, лише якщо параметри створення (-новий та
-новий ключ) не вказано.
-пассін аргумент
джерело пароля вхідного файлу. Для отримання додаткової інформації про формат аргумент див
PASS PHRASE АРГУМЕНТИ розділ в OpenSSL(1).
-від ім'я файлу
Це визначає назву вихідного файлу для запису або стандартний вихід за замовчуванням.
- прохід аргумент
джерело пароля вихідного файлу. Для отримання додаткової інформації про формат аргумент див
PASS PHRASE АРГУМЕНТИ розділ в OpenSSL(1).
- текст
роздруковує запит на сертифікат у текстовому вигляді.
-предмет
друкує тему запиту (або тему сертифіката, якщо -х509 вказано)
-пабключ
виводить відкритий ключ.
-ноут
ця опція запобігає виведенню закодованої версії запиту.
- модуль
ця опція виводить значення модуля відкритого ключа, що міститься в
запит
- перевірити
перевіряє підпис на запиті.
-новий
цей параметр створює новий запит на сертифікат. Він запропонує користувачеві ввести
значення відповідних полів. Фактичні поля, що пропонуються, а також їх максимум і мінімум
розміри вказуються у файлі конфігурації та будь-яких запитуваних розширеннях.
Якщо -кілька параметр не використовується, він створить новий закритий ключ RSA за допомогою
інформацію, зазначену у файлі конфігурації.
-субй аргумент
Замінює поле теми вхідного запиту на вказані дані та змінені вихідні дані
запит. Аргумент має бути відформатований як /type0=value0/type1=value1/type2=..., символи
може екрануватися за допомогою \ (зворотної косої риски), пробіли не пропускаються.
-ранд файл (и)
файл або файли, що містять випадкові дані, які використовуються для заповнення генератора випадкових чисел, або an
Гніздо ЕГД (див RAND_egd(3)). Можна вказати кілька файлів, розділених ОС-
залежний характер. Роздільник є ; для MS-Windows, , для OpenVMS, і : для всіх
інші
-новий ключ аргумент
цей параметр створює новий запит на сертифікат і новий закритий ключ. Аргумент
приймає одну з кількох форм. RSA:nbits, Де nbits - кількість бітів, генерує an
Ключ RSA nbits за розміром. Якщо nbits опускається, тобто -новий ключ RSA за замовчуванням
використовується розмір ключа, зазначений у файлі конфігурації.
Усі інші алгоритми підтримують -новий ключ alg: файл форму, де файл може бути алгоритмом
файл параметрів, створений за допомогою genpkey -генпарам команда або і сертифікат X.509 для
ключ із відповідним алгоритмом.
параметр: файл генерує ключ за допомогою файлу параметрів або сертифіката файл, алгоритм
визначається параметрами. algname:файл використовувати алгоритм algname і файл параметрів
файл: обидва алгоритми повинні збігатися, інакше трапиться помилка. algname просто використовує алгоритм
algname, і параметри, якщо необхідно, слід вказати через -pkeyopt параметр.
dsa:ім'я файлу генерує ключ DSA за допомогою параметрів у файлі ім'я файлу.
ec:ім'я файлу генерує ключ EC (можна використовувати як з алгоритмами ECDSA або ECDH),
gost2001:ім'я файлу формує ключ ГОСТ Р 34.10-2001 (потрібно ccgost двигун налаштований
у файлі конфігурації). Якби тільки гост2001 вказано, набір параметрів має бути
визначено -pkeyopt набір параметрів: X
-pkeyopt opt: значення
встановити параметр алгоритму відкритого ключа вибирати до значення. Підтримуваний точний набір параметрів
залежить від використовуваного алгоритму відкритого ключа та його реалізації. Побачити KEY ПОКОЛІННЯ
ВАРІАНТИ в genpkey сторінку посібника для більш детальної інформації.
-кілька ім'я файлу
Це визначає файл для читання приватного ключа. Він також підтримує формат PKCS#8
закриті ключі для файлів у форматі PEM.
- ключова форма PEM|DER
формат файлу приватного ключа, зазначений у -кілька аргумент. PEM є за замовчуванням.
- ключ ім'я файлу
це дає ім'я файлу для запису щойно створеного приватного ключа. Якщо цей варіант є
не вказано, то використовується ім'я файлу, наявне у файлі конфігурації.
- вузли
якщо вказано цю опцію, то якщо приватний ключ створено, він не буде зашифрований.
-[переварити]
це визначає дайджест повідомлення для підписання запиту (наприклад -md5, -ша1). Це
перевизначає алгоритм дайджесту, зазначений у файлі конфігурації.
Деякі алгоритми відкритого ключа можуть замінити цей вибір. Наприклад, підписи DSA
завжди використовуйте підписи SHA1, ГОСТ Р 34.10 завжди використовуйте ГОСТ Р 34.11-94 (-md_gost94).
-config ім'я файлу
це дозволяє вказати альтернативний файл конфігурації, це замінює файл
час компіляції ім'я файлу або будь-яке, зазначене в файлі OPENSSL_CONF змінна оточення
-субй аргумент
встановлює ім'я суб'єкта для нового запиту або замінює назву суб'єкта під час обробки a
запит. Аргумент має бути відформатований як /type0=value0/type1=value1/type2=...,
символи можуть бути екрановані за допомогою \ (зворотної косої риски), пробіли не пропускаються.
-багатозначний-rdn
ця опція призводить до того, що аргумент -subj інтерпретується з повною підтримкою
багатозначні RDN. приклад:
/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=Джон лань
Якщо -multi-rdn не використовується, тоді буде значення UID 123456+CN=Іван лань.
-х509
ця опція виводить самопідписаний сертифікат замість запиту на сертифікат. Це
зазвичай використовується для створення тестового сертифіката або самопідписаного кореневого ЦС. The
розширення, додані до сертифіката (якщо такі є), вказуються у файлі конфігурації.
Якщо не вказано за допомогою set_serial опції, буде використовуватися велике випадкове число
серійний номер.
-день n
коли -х509 використовується параметр, який визначає кількість днів для сертифікації
сертифікат для. За замовчуванням – 30 днів.
-set_serial n
серійний номер для використання під час виведення самопідписаного сертифіката. Це може бути вказано
як десяткове або шістнадцяткове значення, якщо передує 0x. Можливе використання негативу
серійні номери, але це не рекомендується.
- розширення розділ
-запити розділ
ці параметри визначають альтернативні розділи для включення розширень сертифікатів (якщо
-х509 доступна опція) або розширення запиту на сертифікат. Це дозволяє кільком
різні розділи, які будуть використовуватися в одному конфігураційному файлі для визначення запитів a
різноманітність цілей.
-utf8
ця опція змушує значення полів інтерпретувати як рядки UTF8, за замовчуванням вони є такими
інтерпретується як ASCII. Це означає, що значення поля, незалежно від того, чи запитуються вони з a
термінал або отриманий з конфігураційного файлу, повинні бути дійсними рядками UTF8.
-намеопт варіант
параметр, який визначає, як відображаються імена суб’єкта або емітента. The варіант
Аргументом може бути один параметр або кілька варіантів, розділених комами.
В якості альтернативи -намеопт Перемикач можна використовувати більше одного разу для встановлення кількох параметрів.
Див x509(1) сторінка посібника для деталей.
-звіт
налаштувати вихідний формат, який використовується з - текст, варіант аргумент може бути одиничним
варіант або кілька варіантів, розділених комами.
Див -сертопт параметр у x509 команда
-asn1-kludge
за замовчуванням REQ команда виводить запити на сертифікати, які не містять атрибутів
правильний формат PKCS#10. Однак певні ЦС прийматимуть лише запити, що містять
немає атрибутів у недійсній формі: цей параметр створює цей недійсний формат.
Точніше Attributes у запиті сертифіката PKCS#10 визначаються як a УСТАНОВКА OF
атрибут. Вони є НЕ ДОДАТКОВО тому, якщо атрибутів немає, вони повинні бути
закодований як порожній УСТАНОВКА OF. Недійсна форма не містить порожньої форми УСТАНОВКА OF в той час як
правильна форма.
Слід зазначити, що дуже мало ЦС все ще потребує використання цієї опції.
-no-asn1-kludge
Звертає ефект -asn1-kludge
-newhdr
Додає слово Нове до рядків заголовка та нижнього колонтитула файлу PEM у виведеному запиті.
Деякому програмному забезпеченню (сервер сертифікатів Netscape) і деяким ЦС це потрібно.
- партія
неінтерактивний режим.
-вербозний
роздрукувати додаткові відомості про операції, що виконуються.
- двигун id
вказуючи двигун (за його унікальністю id рядок) спричинить REQ намагатися отримати a
функціональне посилання на вказаний механізм, таким чином ініціалізуючи його, якщо необхідно. The
двигун буде встановлено за замовчуванням для всіх доступних алгоритмів.
-keygen_engine id
визначає двигун (за його унікальністю id string), який буде використовуватися для генерації ключів
операції.
КОНФІГУРАЦІЯ Фото ФОРМАТ
Параметри конфігурації вказані в REQ розділ файлу конфігурації. Як
з усіма файлами конфігурації, якщо в певному розділі не вказано значення (тобто REQ)
потім початковий безіменний або дефолт розділ також шукається.
Доступні варіанти детально описані нижче.
вхідний_пароль вихідний_пароль
Паролі для вхідного файлу приватного ключа (якщо є) та вихідного приватного ключа
файл (якщо він буде створений). Параметри командного рядка passin та пасив перевизначення
значення файлу конфігурації.
default_bits
Вказує розмір ключа за замовчуванням у бітах.
Цей параметр використовується в поєднанні з -новий можливість створення нового ключа. Це може
бути перевизначено, вказавши явний розмір ключа в -новий ключ варіант. Найменший
прийнятий розмір ключа 512 біт. Якщо розмір ключа не вказано, використовується 2048 біт.
default_keyfile
Це ім'я файлу за замовчуванням для запису приватного ключа. Якщо не вказано, ключ є
записується на стандартний вихід. Це можна змінити за допомогою - ключ варіант.
oid_file
Це визначає файл, що містить додаткові ОБ'ЄКТ ІДЕНТИФІКАТОРИ. Кожен рядок файлу
має складатися з числової форми ідентифікатора об’єкта, за яким слідує пробіл
потім коротка назва, потім пробіл і, нарешті, довга назва.
oid_section
Це визначає розділ у файлі конфігурації, що містить додатковий об’єкт
ідентифікатори. Кожен рядок повинен містити коротку назву ідентифікатора об’єкта
подальшою = і числова форма. Короткі і довгі назви в цьому випадку однакові
використовується варіант.
РЕНДФІЛ
Це визначає ім’я файлу, в якому розміщується та зчитується початкова інформація випадкових чисел
від або гнізда EGD (див RAND_egd(3)). Використовується для генерації приватних ключів.
encrypt_key
Якщо це встановлено на немає тоді, якщо приватний ключ генерується, це так НЕ зашифрований. Це
еквівалентно - вузли параметр командного рядка. Для сумісності encrypt_rsa_key є
еквівалентний варіант.
default_md
Цей параметр визначає алгоритм дайджесту для використання. Можливі значення включають md5 sha1
mdc2. Якщо немає, використовується MD5. Цю опцію можна змінити за допомогою команди
лінія.
маска_рядка
Цей параметр маскує використання певних типів рядків у певних полях. Більшість користувачів
не потрібно буде змінювати цю опцію.
Його можна встановити на кілька значень дефолт який також використовується за замовчуванням
PrintableStrings, T61Strings і BMPStrings, якщо pkix значення використовується лише тоді
Будуть використані PrintableStrings і BMPStrings. Це відповідає рекомендаціям PKIX в
RFC2459. Якщо тільки utf8 використовується параметр, тоді буде використовуватися тільки UTF8Strings: це
рекомендація PKIX в RFC2459 після 2003 року. Нарешті nombstr варіант просто використовує
PrintableStrings і T61Strings: певне програмне забезпечення має проблеми з BMPStrings і
UTF8Strings: зокрема Netscape.
req_extensions
це визначає розділ файлу конфігурації, що містить список розширень для додавання
до запиту на сертифікат. Його можна змінити за допомогою -запити перемикач командного рядка.
Див x509v3_config(5) сторінка посібника для детальної інформації про формат розділу розширення.
x509_extensions
це визначає розділ файлу конфігурації, що містить список розширень для додавання
до сертифіката, створеного під час -х509 використовується перемикач. Його можна змінити за допомогою
- розширення перемикач командного рядка.
підказка
якщо встановлено значення немає це вимикає запит полів сертифіката і просто приймає
значення безпосередньо з файлу конфігурації. Це також змінює очікуваний формат
відмітне_ім'я та Атрибути розділи.
utf8
якщо встановлено значення так потім значення полів, які будуть інтерпретовані як рядки UTF8, за
за замовчуванням вони інтерпретуються як ASCII. Це означає, що значення поля, чи
запитується з терміналу або отримано з файлу конфігурації, має бути дійсним UTF8
струни.
Атрибути
це визначає розділ, що містить будь-які атрибути запиту: його формат той самий
as відмітне_ім'я. Зазвичай вони можуть містити challengePassword або
типи unstructuredName. Наразі вони ігноруються підписом запиту OpenSSL
утиліти, але деяким ЦС вони можуть знадобитися.
відмітне_ім'я
Це визначає розділ, що містить поля розрізнених імен, для запиту коли
створення сертифіката або запиту на сертифікат. Формат описано далі
.
ВІДМІННИЙ ІМ'Я І АТРИБУТ РОЗДІЛ ФОРМАТ
Існують два окремих формати для розділів розрізненого імені та атрибутів. Якщо
підказка опція встановлена на немає тоді ці розділи складаються лише з імен полів і значень: for
наприклад,
CN=Моє ім'я
OU=Моя організація
адреса електронної пошти=[захищено електронною поштою]
Це дозволяє зовнішнім програмам (наприклад, на основі графічного інтерфейсу) генерувати файл шаблону з усіма
імена та значення полів і просто передайте їх REQ. Приклад такої конфігурації
файл міститься в ПРИКЛАДИ .
Як варіант, якщо підказка опція відсутня або не встановлена немає тоді файл містить поле
спонукальна інформація. Він складається з рядків виду:
fieldName="prompt"
fieldName_default="значення поля за замовчуванням"
Ім'я_поля= 2
Ім'я_поля= 4
"fieldName" - це ім'я поля, яке використовується, наприклад commonName (або CN). "Підказка"
рядок використовується, щоб попросити користувача ввести відповідні дані. Якщо користувач нічого не вводить
тоді використовується значення за замовчуванням, якщо значення за замовчуванням немає, то поле опускається. А
поле все ще може бути опущено, якщо є значення за замовчуванням, якщо користувач просто вводить '.'
характер.
Кількість введених символів має бути між полями Ім’я_міні та Ім’я_макс
обмеження: можуть бути додаткові обмеження залежно від поля, що використовується (наприклад
countryName завжди може складатися лише з двох символів і має поміститися в PrintableString).
Деякі поля (наприклад, OrganizationName) можна використовувати більше одного разу в DN. Це представляє а
проблема, оскільки файли конфігурації не розпізнають те саме ім'я, яке зустрічається двічі. До
уникайте цієї проблеми, якщо ім'я поля містить деякі символи, за якими стоїть крапка
буде проігноровано. Таким чином, наприклад, друге OrganizationName можна ввести, викликавши його
"1.organizationName".
Фактично дозволені імена полів – це короткі або довгі імена будь-яких ідентифікаторів об’єктів. Це такі
скомпільовано в OpenSSL і включає звичайні значення, такі як commonName, countryName,
localityName, OrganizationName, OrganizationalUnitName, stateOrProvinceName. Додатково
Адреса електронної пошти включає в себе, а також ім’я, прізвище, ініціали givenName та dnQualifier.
Додаткові ідентифікатори об’єктів можна визначити за допомогою oid_file or oid_section варіанти в
файл конфігурації. Будь-які додаткові поля розглядатимуться як a
DirectoryString.
ПРИКЛАДИ
Перевірте та перевірте запит на сертифікат:
openssl req -in req.pem -text -verify -noout
Створіть закритий ключ, а потім згенеруйте з нього запит на сертифікат:
openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out req.pem
Те саме, але тільки за допомогою req:
openssl req -newkey rsa:2048 -keyout key.pem -out req.pem
Створіть самопідписаний кореневий сертифікат:
openssl req -x509 -newkey RSA:2048 -keyout key.pem -out req.pem
Приклад файлу, на який вказує файл oid_file опції:
1.2.3.4 shortName Довше ім'я
1.2.3.6 otherName Інше довге ім'я
Приклад розділу, на який вказує oid_section використання змінного розширення:
testoid1=1.2.3.5
testoid2=${testoid1}.6
Приклад файлу конфігурації із запитом на значення полів:
[запит]
біт за замовчуванням = 2048
default_keyfile = privkey.pem
відмінне_ім'я = req_distinguished_name
атрибути = req_attributes
x509_extensions = v3_ca
dirstring_type = nobmp
[req_distinguished_name]
countryName = Назва країни (2 літерний код)
countryName_default = AU
countryName_min = 2
Назва країни_макс = 2
localityName = назва населеного пункту (наприклад, місто)
OrganizationalUnitName = Назва організаційного підрозділу (наприклад, розділ)
commonName = Загальне ім'я (наприклад, ВАШЕ ім'я)
commonName_max = 64
emailAddress = Адреса електронної пошти
emailAddress_max = 40
[req_attributes]
challengePassword = Пароль виклику
challengePassword_min = 4
challengePassword_max = 20
[v3_ca]
subjectKeyIdentifier=хеш
authorityKeyIdentifier=keyid:завжди,видавець:завжди
basicConstraints = CA:true
Зразок конфігурації, що містить усі значення полів:
RANDFILE = $ENV::HOME/.rnd
[запит]
біт за замовчуванням = 2048
default_keyfile = keyfile.pem
відмінне_ім'я = req_distinguished_name
атрибути = req_attributes
підказка = ні
вихідний_пароль = мій пароль
[req_distinguished_name]
C = ГБ
ST = тестовий штат або провінція
L = місце проведення тесту
O = Назва організації
OU = назва організаційної одиниці
CN = загальна назва
адреса електронної пошти = [захищено електронною поштою]
[req_attributes]
challengePassword = Пароль виклику
ПРИМІТКИ
Рядки верхнього та нижнього колонтитулів у PEM формат зазвичай:
-----ПОЧИТИ ЗАПИТ НА СЕРТИФІКАТ-----
-----КІНЕЦЬ ЗАПИТ НА СЕРТИФІКАТ-----
деяке програмне забезпечення (деякі версії сервера сертифікатів Netscape) замість цього потребує:
-----ПОЧИТИ ЗАПИТ НА НОВИЙ СЕРТИФІКАТ-----
-----КІНЦІ ЗАПИТ НА НОВИЙ СЕРТИФІКАТ-----
який виробляється з -newhdr опція, але в інших випадках сумісна. Будь-яка форма є
приймається прозоро при введенні.
Запити на сертифікати, згенеровані Xenroll з MSIE додано розширення. Це включає
keyUsage розширення, яке визначає тип ключа (лише підпис або загальний
призначення) та будь-які додаткові ідентифікатори OID, введені сценарієм у розширення extendedKeyUsage.
ДІАГНОСТИКА
Часто запитують про такі повідомлення:
Використання конфігурації з /some/path/openssl.cnf
Не вдається завантажити інформацію про конфігурацію
Через деякий час це послідує...
не вдається знайти 'distinguished_name' в конфігурації
проблеми із оформленням запиту на сертифікат
Перше повідомлення про помилку є підказкою: він не може знайти файл конфігурації! Певний
операції (наприклад, перевірка запиту на сертифікат) не потребують файлу конфігурації, тому його
використання не забезпечується. Однак для створення сертифікатів або запитів потрібен а
файл конфігурації. Це можна розцінити як помилку.
Ще одне дивовижне повідомлення таке:
Атрибути:
а0:00
це відображається, якщо атрибутів немає, а запит містить правильний
порожній УСТАНОВКА OF структуру (кодування DER якої 0xa0 0x00). Якщо ви просто бачите:
Атрибути:
потім УСТАНОВКА OF відсутня, а кодування технічно недійсне (але допускається).
Перегляньте опис параметра командного рядка -asn1-kludge для отримання додаткової інформації.
НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ
Змінна OPENSSL_CONF якщо визначено, дозволяє альтернативне розташування файлу конфігурації
буде вказано, воно буде замінено -config перемикач командного рядка, якщо він присутній.
З міркувань сумісності SSLEAY_CONF Змінна середовища служить тій же цілі, але
його використання не рекомендується.
Використовуйте reqssl онлайн за допомогою служб onworks.net