Криптография с эллиптической кривой (сокращенно ECC) - это пара асимметричных ключей, которая используется для шифрования и дешифрования данных. ECC предлагает несколько преимуществ по сравнению с RSA. Ключи ECC меньше по размеру, обеспечивая безопасность, эквивалентную безопасности RSA, - сокращая необходимые ресурсы и обеспечивая лучшую производительность для медиа-приложений, VPN-подключений и многих других приложений с полосой пропускания. Эта статья покажет вам, как создать самозаверяющий сертификат EEC в Ubuntu 14.04. Эта статья также работает во многих других дистрибутивах Linux, на которых установлен OpenSSL.
Обновление системы
Чтобы убедиться, что все работает хорошо, лучше всего обновить вашу систему, чтобы использовать новейшее и наиболее стабильное программное обеспечение. Запустите следующие команды:
apt-get update
apt-get dist-upgrade
Создать ECC закрытый ключ
Мы будем генерировать закрытый ключ с использованием кривой ECC prime256v1.
openssl ecparam -out private.key -name prime256v1 -genkey
Создать запрос на сертификат
Теперь используйте OpenSSL для генерации CSR (запроса на подпись сертификата) для подписи сертификата. Мы сгенерируем CSR с 512-битным SHA2. Обратите внимание, что рекомендуется использовать 256-битную или лучше. SHA-1 больше не рекомендуется использовать, и в ближайшее время он будет устаревшим. SHA-1 также больше не будет приниматься центрами сертификации (центрами сертификации).
openssl req -new -key private.key -out certificate.csr -sha512
Он предоставит вам список полей, которые необходимо заполнить. Если вы используете домен, убедитесь, что Common Name
для этого доменного имени установлено значение. 'extra' attributes
Может быть оставлен пустым.
Создать и подписать сертификат
Теперь вы создадите и подпишите свой сертификат из CSR, который вы ранее создали.
openssl x509 -req -days 365 -in certificate.csr -signkey private.key -out certificate.crt -sha512
Если ошибки не возникает, значит, вы успешно создали сертификат ECC.
Примечание по публичному использованию
Если вы хотите использовать сертификат публично или в производстве, то рекомендуется передать CSR в ваш ЦС, чтобы они выпустили вам подписанный сертификат. Кроме того, храните private.key
в секретном и безопасном месте на вашем сервере. Убедитесь, что файл имеет права только для чтения. Если вы потеряете свой ключ, вам придется заново создать ключ и CSR, чтобы получить новый сертификат.