OpenSSL
Утилита OpenSSl используется в ОС Аврора для генерации и проверки ключей и сертификатов, в частности, ключей разработчиков для подписания установочных пакетов приложений.
При генерации ключевых пар и запросов на сертификаты поддерживаются следующие криптографические алгоритмы:
- RSA;
- ГОСТ 34.10-2012.
Все команды из данного раздела можно запускать из среды сборки.
Информация по типам подписей и инструкция о том, как получить сертификат расположены в основной статье по подписанию пакетов.
Содержание:
Генерация ключа
Для подписывания пакетов рекомендуется использовать ГОСТ 34.10-2012, в этом случае команда генерирования ключа выглядит следующим образом:
openssl genpkey \
-engine gost \
-algorithm gost2012_256 \
-pkeyopt paramset:A \
-aes256 \
-out {key}.pem
Чтобы сгенерировать ключ RSA (2048), следует выполнить следующую команду:
openssl genpkey \
-algorithm rsa \
-pkeyopt rsa_keygen_bits:2048 \
-aes256 \
-out {key}.pem
В процессе выполнения команды запрашивается пароль для шифрования файла с закрытым ключом. Пароль должен быть не менее четырёх символов.
После выполнения команды ключ будет сохранён в файл {key}.pem.
Для того, чтобы ключи не были зашифрованы,
нужно удалить -aes256
или -gost89
из соответствующей команды.
Генерация запроса на получение сертификата
Чтобы создать файл запроса для получения сертификата, нужно подготовить файл настроек запроса csr.conf, который имеет следующий вид:
[ req ]
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = v3_usr
[ req_distinguished_name ]
CN = {COMMON_NAME}
[ v3_usr ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
{COMMON_NAME}
обозначает название компании.
Требования к названию компании приведены
в разделе о генерации запроса на получение сертификата.
Для генерации файла запроса используется команда:
openssl req -new -utf8 -batch \
-config {csr}.conf \
-key {key}.pem \
-out {csr}.pem
После выполнения команды запрос будет сохранён в файле {csr}.pem. Другие аргументы:
- {key}.pem — файл ключа;
- {csr}.conf — файл настроек запроса, подготовленный ранее.
Информация по типам подписей и инструкция о том, как получить сертификат расположены в основной статье по подписанию пакетов.