Записки IT специалиста
Форматы сертификатов X.509 (SSL) и преобразования между ними
- Автор: Уваров А.С.
- 19.12.2022
SSL-сертификаты все плотнее входят в нашу жизнь и трудно представить современного администратора, никогда не имевшего с ними дело. Но, как показывает практика, работа с сертификатами все еще вызывает затруднение у многих наших коллег и виной тому недостаточный объем теоретических знаний. Наиболее частые сложности возникают с форматами сертификатов, поэтому мы сегодня решили внести ясность в этот вопрос и разобрать какие форматы сертификатов бывают и как можно выполнять преобразования между ними.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Форматы сертификатов
Начнем с того, что термин сертификат не является полностью корректным. Если мы говорим об инфраструктуре открытых ключей (PKI), то в ее основе лежит понятие ключевой пары — открытого и закрытого ключа. Сертификат — это средство распространения открытого ключа, которое содержит сам открытый ключ и ряд дополнительной информации. Сертификат является публичным и общедоступным. Закрытый ключ, наоборот, секретная информация и должен храниться в безопасном месте.
Но, как говорится, из песни слов не выкинешь и понятие сертификат широко используется и специалистами, и простыми пользователями в самом широком смысле: подразумевая и сам сертификат, и ключ сертификата, и полностью ключевую пару. Поэтому, каждый раз, когда вам встречается это слово, то нужно, прежде всего определиться в каком контексте оно употребляется и что именно значит.
Также при работе с сертификатами вам обязательно встретится аббревиатура X.509, это стандарт для сертификатов и ключей PKI, определяющий их формат, структуру и способы работы с ними. Поэтому, когда речь идет о X.509, то мы понимаем, что это сертификаты PKI.
Но перейдем к форматам. Серьезную путаницу вносит то, что расширения сертификатов и ключей не всегда четко указывают на формат, точнее даже наоборот и точно убедиться с чем именно вы имеете дело можно только ознакомившись с содержимым. Мы не будем рассматривать все возможные варианты форматов, ограничимся только самыми ходовыми.
Формат DER
Это бинарный формат для сертификатов и ключей, фактически он является исходным, так как изначально ключи — это некоторые бинарные сущности. Чаще всего используется на платформе Java и в Windows, там это формат по умолчанию. Могут использовать расширения .der и .cer, но ничего не мешает дать такому файлу другое широко используемое расширение.
Поэтому для выяснения формата файла следует просмотреть его содержимое или воспользоваться командой file в Linux:
Если сертификат бинарный, то в ответ вы получите:
Все тоже самое справедливо и для закрытого ключа, который чаще всего имеет расширение .key.
Формат PEM
Данный формат наиболее популярен и распространен, особенно в открытом ПО. Представляет кодированный при помощи Base64 формат DER и по сути является обычным текстовым файлом. Характерными особенностями являются обязательные строки, между которыми находится содержимое сертификата или ключа:
А команда file определяет такой файл как:
Контейнер в формате PEM может содержать один или несколько сертификатов, закрытый ключи или сертификат(ы) и закрытый ключ одновременно. В этом случае каждый из них обрамляется обязательными строками BEGIN и END. Кроме расширения .pem могут также использоваться .cer, .crt и .key для ключа. Поэтому определять формат следует по типу содержимого.
Формат PKCS #7
Специальный контейнер, предназначенный для хранения сертификатов и/или списков отзыва (CRL), может иметь расширения .p7b или .p7c. Важной особенностью является то, что данный формат не предназначен для хранения закрытого ключа и используется только для сертификатов. Чаще всего используется в Windows системах.
Может иметь как DER, так и PEM формат, в последнем случае файл имеет обязательные строки:
Данный контейнер в основном определяется по расширению, а его внутренний формат по содержимому.
Формат PKCS #12
Данный формат предназначен для хранения закрытого ключа и сертификата, кроме них может содержать полную цепочку доверия и список отзыва. Часто используется для распространения и хранения ключевой пары. Наибольшее распространение имеет в Windows системах и является дальнейшим развитием контейнера PFX от Microsoft, в настоящий момент эти аббревиатуры употребляются как синонимы.
Имеет бинарный формат и защищен паролем (можно оставить пустой пароль), определяется по расширениям .pfx, .p12, .pkcs12.
Преобразование форматов
Для всех дальнейших действий мы будем использовать OpenSSL на платформе Linux, для работы в среде Windows вам потребуется несколько изменить синтаксис в части определения путей. Все команды выполняются от имени того пользователя, который является владельцем сертификата. Также помним, что форматом по умолчанию для OpenSSL является PEM.
PEM в DER
Для преобразования сертификата из PEM в DER выполните:
Для закрытого ключа:
Для получения нужного результата мы явно указываем выходной формат — DER.
DER в PEM
Синтаксис команд схож, для сертификата:
Для закрытого ключа:
Обратите внимание, что в данной команде мы, наоборот, явно указываем входной формат.
Для примера объединим два сертификата: собственно наш сертификат и сертификат удостоверяющего центра.
Ключ -nocrl указывает, что мы не включаем в контейнер список отзыва. Каждый включаемый в контейнер сертификат задается отдельной опцией -certfile.
Для создания контейнера с CRL используем команду:
Так как мы не указывали ни входной, ни выходной форматы, то на входе используем сертификаты формата PEM и получаем контейнер с тем же форматом. Для получения файла в формате DER укажите:
Преобразовать сертификаты в формате DER сразу в PKCS #7 нельзя, их следует сначала преобразовать в формат PEM.
PEM в PKCS #12
Создадим контейнер, в который поместим собственно ключевую пару и дополнительный сертификат CA:
В ключе -in указываем сертификат, связанный с закрытым ключом, в -inkey — закрытый ключ, затем добавляем нужное количество опций -certfile для включения дополнительных сертификатов, которые будут формировать цепочку доверия.
PKCS #7 в PEM
Мы можем вывести все сертификаты файла PKCS #7 в PEM командой:
Если исходный файл в формате DER, то добавьте:
Напоминаем, что определять формат PKCS #7 следует по содержимому.
Данный контейнер может содержать как ключевую пару, так и дополнительные сертификаты, чтобы вывести их все в формат PEM используйте команду:
Последний ключ -nodes указывает на то, что не нужно шифровать закрытый ключ.
Но что, если нам нужно получить только отдельные части контейнера? Ничего сложного.
Для вывода только сертификата и закрытого ключа используйте:
Так как мы не извлекаем ключ, то опция -nodes как бы не нужна, но она подавляет появления запроса на пароль для экспортируемого файла.
Для вывода только сертификата(ов) CA:
Только закрытого ключа:
Как видим, при помощи OpenSSL не составляет никакого труда разобрать контейнер PKCS #12 на составляющие.
Установить / снять пароль с закрытого ключа
Еще одна часто встречающаяся задача: снять пароль с закрытого ключа, для этого используйте команду:
openssl rsa -in privkey.key -out privkey-nopass.key
Обратная операция выполняется командой:
openssl rsa -des3 -in privkey.key -out privkey-pass.key
Где -des3 указывает на алгоритм шифрования, допустимы значения: -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea. Перед их использованием следует уточнить, какие именно из них поддерживает тот софт, с которым вы собираетесь использовать ключ.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Что такое файлы .crt и .key и как их сгенерировать?
crt и файлы ключей представляют обе части сертификата, причем ключ является закрытый ключ к сертификату и crt, являющийся подписанным сертификатом.
Это только один из способов создания сертификатов, другим способом было бы наличие обоих внутри файла pem или другого в контейнере p12.
У вас есть несколько способов сгенерировать эти файлы, если вы хотите самостоятельно подписать сертификат, вы можете просто ввести эти команды
Обратите внимание, что с самозаверяющими сертификатами ваш браузер предупредит вас, что сертификат cate не является “доверенным”, потому что он не был подписан центром сертификации, который находится в списке доверенных лиц вашего браузера.
С этого момента вы можете создать свою собственную цепочку доверия, сделав свой ЦС или купите сертификат у такой компании, как Verisign или Thawte.
Это публичная (.crt) и частная (.key) части сертификата SSL. См. Этот вопрос для получения большого количества необходимой информации, например если вы хотите создать сертификат самостоятельно, или купите его.
/.ssh , когда я загружаю свой CSR-файл на свой ssl-провайдер? – Касим, 06 янв. 2017, в 18:11
Это общедоступная (.crt) и частная (.key) части сертификата SSL. См. Этот вопрос для получения большого количества необходимой информации, например если вы хотите создать сертификат самостоятельно или купить его.
Могу ли я создать файлы .cert и .key? [закрыто]
Я создаю тестовый сервер, который должен использовать OpenSSL. Я никогда не делал сервер, поэтому, когда я прочитал инструкции по работе с apache, я застрял на первой части; конкретно эти строки:
Я не знаю, чем заменить “/path/to/www.example.com.cert” и “/path/to/www.example.com.key” на . У меня есть полностью пустая виртуальная машина Windows 2003, на которой работает сервер в изолированной тестовой лаборатории, поэтому она совершенно бесплодна. Таким образом, когда я искал файл .cert, ничего не появилось.
Так могу ли я их создать? Имейте в виду, я просто тестирую. Следует отметить, тестирование OpenSSL на Apache.
Вы должны использовать команды openssl для генерации файла ключей и файла сертификата. Насколько я понимаю, вы пытаетесь создать самоподписанные сертификаты.
В основном вам нужно создать свой собственный CA и использовать ca.cert для подписи каждого ключевого файла, который вы генерируете.
Теперь замените ca.cert в “/path/to/ www.example.com.cert “и ключевой файл с/pahto/key.
Следующая ссылка объясняет, какие команды для этого используются:
Вы можете использовать xca. У него уже есть шаблон CA и шаблон сервера https в установке по умолчанию.
Цифровые SSL сертификаты. Разновидности, как выбрать?
Существует достаточно много цифровых сертификатов, каждый из которых служит для своих целей. Самые распространенный тип сертификатов это естественно SSL сертификаты, которые также имеют несколько подвидов. Также существуют Code Signing сертификаты, Website Anti Malware Scanner сертификаты и Unified Communications сертификаты.
Поскольку мы занимаемся продажей всех видов сертификатов, то накопилось некоторое количество опыта по сертификатам и знаний как правильно подобрать нужный сертификат для конкретной ситуации. Постараюсь в нескольких постах поделиться этой информацией.
Так что если у вас стоит задача поднять защищенное https соединение для вашего сайта, то в этом посте я постараюсь раскрыть все тонкости и особенности SSL сертификатов, чтобы сделать правильный выбор было проще.
Начнем с самых распространенных SSL сертификатов.
SSL сертификаты самый распространенный на данный момент тип сертификатов в Интернет. Чаще всего они используются в интернет-магазинах, то есть на сайтах, где есть функция заказа и где клиент вводит свои персональные данные. Для того, чтобы эти данные в момент передачи из браузера на сервер невозможно было перехватить используется специальный протокол HTTPS, который шифрует все передаваемые данные.
Для того, чтобы активировать возможность работы протокола HTTPS как раз и нужны цифровые SSL сертификаты (также потребуется выделенный IP для конкретного сайта).
Что такое SSL сертификат?
SSL — это сокращение от Secure Socket Layer — это стандартная интернет технология безопасности, которая используется, чтобы обеспечить зашифрованное соединение между веб-сервером (сайтом) и браузером. SSL сертификат позволяет нам использовать https протокол. Это безопасное соединение, которое гарантирует, что информация которая передается от вашего браузера на сервер остается приватной; то есть защищенной от хакеров или любого, кто хочет украсть информацию. Один из самых распространенных примеров использования SSL — это защита клиента во время онлайн транзакции (покупки товара, оплаты).
Как получить SSL сертификат?
Самый простой и бесплатный способ — это использовать, так называемый, самоподписной сертификат (self-signed), который можно сгенерировать прямо на веб-сервере. К слову во всех самых популярных панелях управления хостингом (Cpanel, ISPmanager, Directadmin) эта возможность доступна по умолчанию, поэтому техническую сторону процесса создания сертификата мы сейчас опустим.
Плюс самоподписного сертификата — это его цена, точнее ее отсутствие, так как вы не платите ни копейки, за такой сертификат. А вот из минусов — это то, что на такой сертификат все браузеры будут выдавать ошибку, с предупреждением, что сайт не проверен.
То есть для служебных целей и для внутреннего использования такие сертификаты подходят, а вот для публичных сайтов, а тем более для сайтов, которые продают услуги, такие сертификаты противопоказаны. Посудите сами, хотели бы вы, чтобы ваш клиент при заказе услуги увидел вот такую ошибку на весь экран? Как показывает практика, большинство клиентов такая страничка вводит в ступор и отбивает желание продолжать заказ дальше.
Почему же браузеры выдают такое предупреждение для самоподписных сертификатов и как этого избежать? Чтобы ответить на этот вопрос потребуется немного рассказать про сами принципы работы SSL сертификатов.
По какому принципу работает SSL сертификат?
Итак для того, чтобы получить SSL сертификат самое первое, что нужно сделать, это сформировать специальный запрос на выпуск сертификата, так называемый (Certificate Signing Request). При формировании этого запроса вам будет задан ряд вопросов, для уточнения деталей о вашем домене и вашей компании. После завершения ваш веб сервер создаст 2 типа криптографических ключей — приватный ключ и публичный ключ.
Публичный ключ не является секретным и он помещается в запрос CSR.
Вот пример такого запроса:
——BEGIN CERTIFICATE REQUEST——
MIIC3zCCAccCAQAwgZkxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIEwRLaWV2MQ0wCwYD
VQQHEwRLaWV2MRQwEgYDVQQKEwtIb3N0QXV0b21hdDEQMA4GA1UECxMHaG9zdGlu
ZzEmMCQGCSqGSIb3DQEJARYXc3VwcG9ydEBob3N0YXV0b21hdC5jb20xHDAaBgNV
BAMTE3d3dy5ob3N0YXV0b21hdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDTg7iUv/iX+SyZl74GcUVFHjFC5IqlTNEzWgLWrsSmxGxlGzXkUKid
NyXWa0O3ayJHOiv1BSX1l672tTqeHxhGuM6F7l5FTRWUyFHUxSU2Kmci6vR6fw5c
cgWOMMNdMg7V5bMOD8tfI74oBkVE7hV95Ds3c594u7kMLvHR+xui2S3z2JJQEwCh
mflIojGnSCO/iv64RL9vjZ5B4jAWJwrruIXO5ILTdis41Z1nNIx3bBqkif0H/G4e
O5WF6fFb7etm8M+d8ebkqEztRAVdhXvTGBZ4Mt2DOV/bV4e/ffmQJxffTYEqWg8w
b465GdAJcLhhiSaHgqRzrprKns7QSGjdAgMBAAGgADANBgkqhkiG9w0BAQUFAAOC
AQEAuCfJKehyjt7N1IDv44dd+V61MIqlDhna0LCXH1uT7R9H8mdlnuk8yevEcCRI
krnWAlA9GT3VkOY3Il4WTGg3wmtq6WAgLkVXQnhIpGDdYAflpAVeMKil8Z46BGIh
KQGngL2PjWdhMVLlRTB/01nVSKSEk2jhO8+7yLOY1MoGIvwAEF4CL1lAjov8U4XG
NfQldSWT1o8z9sDeGsGSf5DAXpcccx0gCyk90HFJxhbm/vTxjJgchUFro/0goVpB
credpKxtkwBMuCzeSyDnkQft0eLtZ9b9Q4+ZNDWsPPKxo/zWHm6Pa/4F4o2QKvPC
Px9x4fm+/xHqkhkR79LxJ+EHzQ==
——END CERTIFICATE REQUEST——
Данные которые содержатся в этом ключе можно легко проверить с помощью сервисов CSR Decoder. Как пример: CSR Decoder 1 или CSR Decoder 2. Второй сервис выдает больше информации о CSR и проверяет ее на валидность, поле Signature в результатах проверки.
Если мы вставим такой запрос в форму для его расшифровки, то увидим, какие данные содержатся в публичном ключе.
CSR Information:
Common Name: tuthost.ua — доменное имя, которое мы защищаем таким сертификатом
Organization: TutHost — название организации, которой принадлежит домен
Organization Unit: Hosting department — подразделение организации
Locality: Kiev — город, где находится офис организации
State: Kiev — область или штат
Country: UA — двухбуквенный код, страны офиса.
Email: support@tuthost.com — контактный email технического администратора или службы поддержки
Важный момент — обратите внимание на поле Country — формат этого поля подразумевает только двухбуквенный код по стандарту ISO 3166-1, если вы не уверены в коде вашей страны, то проверить его можно например тут: Таблица ISO-3166-1. Я обращаю внимание на это поле, потому, что самая частая ошибка у наших клиентов при генерации запроса CSR — это неправильный код страны. И как следствие с такой CSR произвести выпуск сертификата невозможно.
После того как CSR сгенерирован вы можете приступать к оформлению заявки на выпуск сертификата. Во время этого процесса центр сертификации (CA — Certification Authority) произведет проверку введенных вами данных, и после успешной проверки выпустит SSL сертификат с вашими данными и даст возможность вам использовать HTTPS. Ваш сервер автоматически сопоставит выпущенный сертификат, со сгенерированным приватным ключем. Это означает, что вы готовы предоставлять зашифрованное и безопасное соединение между вашим сайтом и браузером клиентов.
Какие данные содержит в себе SSL сертификат?
- полное (уникальное) имя владельца сертификата
- открытый ключ владельца
- дата выдачи ssl сертификата
- дата окончания сертификата
- полное (уникальное) имя центра сертификации
- цифровая подпись издателя
Что такое центры сертификации (CA)?
Это организация, которая обладает правом выдачи цифровых сертификатов. Она производит проверку данных, содержащихся в CSR, перед выдачей сертификата. В самых простых сертификатах проверяется только соотвествие доменного имени, в самых дорогих производится целый ряд проверок самой организации, которая запрашивает сертификат. Об этом мы поговорим ниже.
Так вот, разница между самоподписными бесплатным и платными сертификатами, выданными центром сертификации как раз и заключается в том, что данные в сертификате проверены центром сертификации и при использовании такого сертификата на сайте ваш посетитель никогда не увидит огромную ошибку на весь экран.
Говоря в общем, SSL сертификаты содержат и отображают (как минимум одно из) ваше доменное имя, ваше название организации, ваш адрес, город и страницу. Также сертификат всегда имеет дату окончания и данные о центре сертификации, ответственного за выпуск сертификата. Браузер подключается к защищенному сайту, получает от него SSL сертификат и делает ряд проверок: он не просрочен ли сертификат, потом он проверяет, выпущен ли сертификат известным ему центром сертификации (CA) используется ли сертификат на сайте, для которого он был выпущен.
Если один из этих параметров не проходит проверку, браузер отображает предупреждение посетителю, чтобы уведомить, что этот сайт не использует безопастное соединение SSL. Он предлагает покинуть сайт или продолжить просмотр, но с большой осторожностью. Это последнее, что вы должны увидеть ваши потенциальные клиенты.
Центров сертификации существует достаточно много, вот перечень самых популярных:
Comodo — работает с 1998 штабквартира в Jersey City, New Jersey, США.
Geotrust — основан в 2001, в 2006 продан Verisign, штабквартира Mountain View, California, США
Symantec — бывший Verisign в состав которого входит и Geotrust. Купил всех в 2010 году.
Thawte — основан в 1995, продан Verisign в 1999.
Trustwave — работает с 1995, штабквартира Chicago, Illinois, США.
Как видим самый крупный игрок на рынке SSL сертификатов это Symantec, который владеет тремя крупнейшими центрами сертификации — Thawte, Verisgin и Geotrust.
Есть ли разница в каком центре сертификации заказывать сертификат?
Основное отличие между разными центрами сертификации — в цене сертификатов и в том, в каком количестве браузеров установлен их корневой сертификат. Ведь если в браузере нет корневного сертификата этого центра сертификации, то посетитель с таким браузером все равно получит ошибку при входе на сайт с сертификатом от такого центра.
Что касается перечисленных выше центров сертификации, то их корневые сертификаты установлены в, пожалуй, 99,99% всех существующих браузеров.
Чтобы проверить, корневые сертификаты каких центров сертификации установлены в вашем браузере, достаточно в настройках вашего браузера найти такую опцию. (В Chrome Настройки -> показать дополнительные настройки -> управление сертификатами -> Доверенные корневые центры сертификации). В Chrome установлено более 50 таких корневых сертификатов.
Важный момент — частенько у клиентов возникала ситуация, когда SSL сертификат на серверe установлен, но при заходе на сайт браузер все равно выдает ошибку. Такая ситуация может возникнуть или из-за отсутствия в файле ca-bundle.crt корневого сертификата центра выдавшего сертификат или из-за того, что корневой сертификат устарел. Корневые сертификаты также имеют свой срок действия (в браузерах они обновляются при обновлении браузера).
С июля 2010 года сертификационные центры перешли на использование ключей 2048bit RSA Keys, поэтому для корректной работы всех новых сертификатов необходимо устанавливать новые корневые сертификаты.
Если новые корневые сертификаты не установлены — это может вызвать проблемы с корректной установкой сертификата и распознаванием его некоторыми из браузеров.
Ссылки на странички центров сертификации, где можно скачать новые корневые сертификаты даны ниже.
Итак мы вплотную подошли к видам SSL сертификатов.
Какие виды SSL сертификатов существуют?
Между собой сертификаты отличаются свойствами и уровнем валидации.
Типы сертификатов по типу валидации
- Сертификаты, которые подтверждают только доменное имя (Domain Validation — DV).
- Сертификаты, которые подтверждают домен и организацию (Organization Validation — OV).
- Сертификаты, с расширенной проверкой (Extendet Validation — EV).
Сертификаты, подтверждающие только домен
Это самые простые сертификаты, это ваш выбор если сертификат вам нужен срочно, так как выпускаются они автоматически и моментально.
При проверке такого сертификата отсылается письмо со специальной ссылкой, по которой нужно кликнуть, чтобы подтвердить выпуск сертификата.
Важный момент, что это письмо может быть отправлено только на так называемый approver email, который вы указываете при заказе сертификата. И к адресу approver email есть определенные требования, он должен быть либо в том же домене для которого вы заказываете сертификат, либо он должен быть указан в whois домена.
Если вы указываете email в том же домене, что и сертификат, то указывать любой emal тоже нельзя, он должен соответствовать одному из шаблонов:
admin@
administrator@
hostmaster@
postmaster@
webmaster@
Еще один Важный момент: иногда сертификаты с моментальным выпуском попадают на дополнительную ручную проверку Центром сертификации, сертификаты для проверки выбираются случайным образом. Так что всегда стоит помнить, что есть небольшой шанс, что ваш сертификат будет выпущен не моментально.
Сертификаты SSL с валидацией домена выпускаются, когда центр сертификации проверил, что заявитель имеет права на указанное доменное имя. Проверка информации об организации не проводится и никакая информация об организации в сертификате не отображается.
Сертификаты с валидацией организации.
В таком сертификате уже будет указано название организации. Такой сертификат частное лицо получить не может. Срок выдачи таких сертификатов как правило от 3 до 10 рабочих дней, зависит от центра сертификации.
Процесс выдачи сертификатов OV
После получения запроса на выпуск сертификата с проверкой организации центр сертификации производит проверку, реально ли существует такая организация, как указано в CSR и принадлежит ли ей указанный домен.
Что проверяется в таких случаях?
У разных центров сертификации проверка несколько отличается, поэтому приведу общий список пунктов, которые могут быть проверены или запрошены:
- Наличие организации в международных желтых страницах — проверяется не всеми центрами сертифации
- Наличие в whois домена названия вашей организации — а вот это уже проверят обязательно, и если такое название там не указано от вас скорей всего затребуют гарантийное письмо, в котором нужно указать, что домен действительно принадлежит организации, иногда могут затребовать подтверждение от регистратора
- Свидетельство о государственной регистрации — требуют все реже, чаще сейчас производится проверка через специальные компании, которые производят проверку существования организации по своим каналам. Например для Украины вас могут проверить по базе ЕДРПОУ
- Счет от телефонной компании, в которой содержится название вашей организации и ваш номер телефона, указанный в заказе — таким образом проверяется валидность вашего телефона. Требуют все реже.
- Проверочный звонок — все чаще правильность телефона проверяют осуществляя звонок, на номер телефона, указанный вами в заказе. При звонке спросят сотрудника, указанного в административном контакте. Не у всех центров сертификации есть русскоговорящие сотрудники, поэтому предупредите человека, который отвечает на телефон, что возможен звонок от англоязычной компании.
Сертификаты с расширенной проверкой.
Это самые дорогие сертификаты и получить их сложнее всего. В таких сертификатах есть так называемый «green bar» — то есть при входе не сайт, где установлен такой сертификат в адресной строке браузера посетителя появится зеленая строка, в которой будет указано название организации, получившей сертификат.
Вот как это выглядит на сайте у Thawte.
Такие сертификаты обладают наибольшим уровнем доверия, среди продвинутых посетителей вашего сайта, поскольку сертификат указывает, что компания реально существует, прошла полную проверку и сайт действительно принадлежит ей.
- Должен проверить правовую, физическую и операционную деятельности субъекта.
- Должен убедиться, что организация соответствует официальным документам.
- Необходимо убедиться, что организация имеет исключительное право на использование домена, указанного в сертификате EV.
- Необходимо убедиться, что организация полностью авторизована для выпуска EV сертификата.
Список того, что конкретно будут проверять такой же как и для сертификатов с проверкой организации.
EV сертификаты используются для всех типов бизнеса, в том числе для государственных и некоммерческих организаций. Для выпуска необходимо 10-14 дней.
Вторая часть правил актуальная для центра сертификации и описывает критерии, которым центр сертификации должен соответствовать перед тем, как получить разрешение на выпуск EV сертификата. Она называется, EV правила аудита, и каждый год происходит проверка на соответствие этим правилам.
Типы SSL сертификатов по своим свойствам.
Обычные SSL сертификаты
Тут все понятно, это сертификаты, которые выпускаются автоматически и подтверждают только домен. Подходят для всех сайтов.
Цена: от 20$ в год
SGC сертификаты
Сертификаты с поддержкой повышения уровня шифрования. Актуально для очень старых браузеров, которые поддерживали только 40 или 56 бит шифрование. При использовании этого сертификата уровень шифрования принудительно повышается до 128 бит.
За все время у нас не купили не одного такого сертификата. Мое мнение, что они уже не нужны, разве что для внутреннего использования в больших корпорациях, где сохранилось очень старое железо.
Цена: от 300 $ в год.
Wildcard сертификаты
Нужны в том случае, когда вам кроме основного домена нужно обеспечить шифрование также на всех поддоменах одного домена. Например: есть домен domain.com и вам нужно установить такой же сертификат на support.domain.com, forum.domain.com и billing.domain.com
Совет: посчитайте количество поддоменов, на которые нужен сертификат, иногда бывает выгодней купить отдельно несколько обычных сертификатов.
Цена: от 180$ в год. Как видите, если у вас меньше 9 поддоменов, то дешевле купить обычный сертификат, хотя в использовании будет удобней один wildcard.
SAN сертификаты
Пригодится, если вы хотите использовать один сертификат для нескольких разных доменов, размещенных на одном сервере. Обычно в такой сертификат входит 5 доменов и их количество можно увеличивать с шагом в 5.
Цена: от 395 $ в год
EV сертификаты
Это те самые сертификаты с расширенной проверки и зеленой строкой в браузере, о которых мы говорили выше. Получить их может только юридическое лицо, коммерческая, некоммерческая или государственная организация.
Цена: от 250 $ в год.
Сертификаты c поддержкой IDN
- Thawte SSL123 Certificate
- Thawte SSL Web Server
- Symantec Secure Site
- Thawte SGC SuperCerts
- Thawte SSL Web Server Wildcard
- Thawte SSL Web Server with EV
- Symantec Secure Site Pro
- Symantec Secure Site with EV
- Symantec Secure Site Pro with EV
Как выбрать самый дешевый сертификат?
У Geotrust самые дешевые SAN сертификаты. Сертификаты с валидацией только сайта, а также wildcard выгоднее всего у RapidSSL. EV сертификаты самые дешевые также у Geotrust. SGC сертификаты есть только у Thawte и Verisign, но у Thawte дешевле.
Чем еще отличаются сертификаты между собой
- Скоростью выпуска. Быстрее всего выпускаются сертификаты с валидацией только домена, дольше всего с EV валидацией, от 7 рабочих дней.
- Количество перевыпусков сертификата — у большинства центров сертификации неограниченно. Требуется, если допустили ошибку в данных об организации.
- Гарантия — для некоторых сертификатов есть гарантия от 10.000 $. Это гарантия скорее не для покупателя сертификата, а для посетителя сайта, где установлен сертификат. В случае если посетитель сайта с таким сертификатом пострадает от фрауда и потеряет деньги, то центр сертификации обязуется их ему компенсировать до суммы указанной в гарантии. То есть центр сертификации как бы дает гарантию на свои сертификаты и что их невозможно установить на «левый» домен. На практике такие случае мне не известны поэтому на этот параметр можно не обращать внимание.
- Бесплатный тестовый период — из платных сертификатов есть у symantec secure site, geotrust rapidssl, comodo positive ssl, thawte ssl web server. Также можете для тестов использовать бесплатные сертификаты: StartSSL™ Free
- Возврат средств — есть почти у всех сертификатов в течении 30 дней, хотя бывают и сертификаты без периода moneyback
Полезные утилиты:
- OpenSSL — самая распространенная утилита для генерации открытого ключа (запроса на сертификат) и закрытого ключа.
http://www.openssl.org/ - CSR Decoder — утилита для проверки CSR и данных, которые в нем содержаться, рекомендую использовать перед заказом сертификата.
CSR Decoder 1 или CSR Decoder 2 - DigiCert Certificate Tester — утилита для проверки корректно самого сертификата
http://www.digicert.com/help/?rid=011592
http://www.sslshopper.com/ssl-checker.html
В следующих частях постараюсь рассказать про остальные виды сертификатов.
Цифровой сертификат безопасности (SSL). Что это такое, зачем нужен и как работает
Даже если вы никогда не слышали про SSL-сертификаты, то наверняка сталкивались с ними. Например, при посещении любимых интернет-ресурсов. Если взглянуть на адресную строку в браузере, то можно увидеть значок закрытого замка, при нажатии на который появляется надпись «Безопасное соединение». Замочек или появление HTTPS вместо HTTP означает, что у сайта имеется SSL (Secure Sockets Layer). Если этого нет, в адресной строке можно увидеть открытый замочек или надпись «Не защищено».
Цифровой сертификат безопасности (SSL) — это сертификат безопасности, необходимый для безопасной передачи данных с помощью протокола шифрования. Использование этого протокола гарантирует безопасность обмена данными между сервером web-портала и браузером пользователя. Другими словами, SSL-сертификат защищает пользователей от хищения или подмены данных.
Зачем нужен сертификат
Это забота о безопасности пользователей, а также работа на репутацию. Видя значок замка, человек получает уверенность в том, что вводимые им личные или финансовые данные не окажутся в чужих руках. Это важно, ведь из-за утечек имидж компании может быть подпорчен. Если сертификата безопасности нет, посетители могут отказаться от работы с ресурсом.
Без SSL сайт уязвим. Это особенно актуально для банков, интернет-магазинов, госпорталов и других интернет-ресурсов, работающих с ПДн или другой чувствительной информацией. Более того, некоторые браузеры воспринимают сайты без защитного протокола как потенциально опасные для пользователей.
Технология работы
SSL одновременно использует два типа шифрования, симметричное и асимметричное. Это никак не сказывается на действиях интернет-пользователей. Всё происходит на уровни сети.
- Вы указываете имя интернет-ресурса;
- Браузер проверяет DNS, определяет IP-адреса хоста сайта;
- Переходит на веб-сервер хоста;
- Запрашивает у него безопасное SSL-соединение;
- Хост возвращает валидные данные сертификата;
- Браузер устанавливает защищённое соединение.
Весь процесс занимает несколько секунд, а в ИТ-терминах называется «рукопожатием». После рукопожатия сервер вместе с браузером пользователя используют симметричный ключ, который действителен только для этой сессии (посещения). Все данные будут зашифрованы/расшифрованы именно им. После завершения сессии ключ уничтожается. Когда пользователь снова зайдёт на сайт, процедура повторится.
Типы сертификатов
Различают шесть типов SSL-сертификатов. Их основное отличие — в стоимости, а также уровне проверки.
Сертификаты с расширенной проверкой (EV SSL). Считаются престижными, наиболее дорогими. Используются преимущественно на популярных порталах, собирающих ПДн или принимающих платежи. После установки возле адреса сайта появляется HTTPS, значок замка, имя компании, страна. Для получения необходимо пройти строгую проверку, а также подтвердить наличие исключительных прав на домен.
Сертификаты, подтверждающие организацию (OV SSL). Уровень доверия аналогичен предыдущему, поскольку владельца проверяют по той же схеме. Стоят дешевле, в адресной строке видна информация о владельце. Используются для шифрования транзакций. OV SSL ставят, чтобы защитить обрабатываемые данные от компрометации.
Сертификаты, подтверждающие домен (DV SSL). Недорогой, простой в получении. Право собственности на домен подтверждается по email или телефону. После установки в адресной строке появляется HTTPS и значок замка. Менее надёжны, но подходят для блогов, новостных порталов, других ресурсов, обрабатывающих ПДн и платежи.
Wildcard-сертификаты (сертификаты с подстановочными символами). Используются для защиты базового домена с поддоменами, содержат звездочку (*) как часть общего имени. Когда нужно защитить несколько поддоменов, нет смысла покупать отдельные для каждого из них. Выгоднее купить один Wildcard-сертификат.
Мультидоменные сертификаты (MDC). Используются для защиты нескольких доменных/поддоменных имен, включая сочетания уникальных доменов и поддоменов с разными доменами верхнего уровня. Исключение — локальные/внутренние поддомены. В ситуации, когда нужно защитить интернет-ресурсы sitename.com, на этапе получения SSL указывают оба имени.
Сертификаты унифицированных коммуникаций (UCC). Тоже относятся к мультидоменным сертификатам, а придуманы были для защиты серверов Microsoft Exchange и Live Communications. Сейчас ими может пользоваться любой владелец сайта, желающий защитить несколько доменных имён одним сертификатом. UCC проверяются на уровне организации, а в браузере отображаются значком замка.
Как получить SSL-сертификат
Для тех, кто не знает, где взять SSL, поясняем. Есть три способа: приобрести у компании, сделать самому или получить бесплатно. Самый простой вариант — заказать его. Например, корпоративный облачный провайдер Cloud4Y предлагает три типа сертификатов:
- Symantec. Решения компании обеспечивают должный уровень безопасности сайтов, гарантируя самый высокий уровень защиты и беспрецедентное качество в отрасли.
- Thawte. Накопленный опыт в сочетании с новыми технологиями в области защиты данных позволили компании заслужить доверие потребителей во всём мире.
- GeoTrust. Эти недорогие сертификаты позволяют сайтам гарантировать безопасность.
Также существуют бесплатные сертификаты. Например, созданные внутри самой компании — самоподписанные. Их можно быстро насоздавать в любом количестве. Не у них нет должного уровня защиты, есть риск потерять данные. Кроме того, существует риск ошибки при создании такого сертификата, из-за чего он будет только отпугивать посетителей.
DV SSL тоже обычно бесплатны. Но у них короткий срок жизни (до 3 месяцев), их трудно продлевать, есть риск не заметить, что срок действия давно истёк. К тому же, у них нет технической поддержки.
Как установить SSL-сертификат
До того, как приступать к установке сертификата, позаботьтесь о его активации. Это делается в системе компании, которая продала защитный сертификат. Для активации необходимо указать контакты и данные CSR (Certificate Signing Request)— зашифрованную информацию о домене и компании, а затем отправить запрос. Система пришёт CSR и приватный ключ. В некоторых случаях добавляется публичный ключ.
Скопируйте эти данные или перешлите себе на почту. Они понадобятся, когда вы будете устанавливать SSL на сервер. Будьте внимательны, чтобы не перепутать CSR с приватным ключом! Данные первого файла не является чем-то тайным, а второго — секретная информация.
Для установки понадобится сертификат, приватный ключ и цепочка сертификатов. Как получить приватный ключ, рассказано выше, остальные данные выдаст центр сертификации. У файла сертификата расширение *.CRT, а у файла цепочки — *.CA-BUNDLE.
Процесс установки зависит от вида хостинга и используемой панели управления. Рекомендуем обратиться к вашему провайдеру, чтобы он прислал соответствующие инструкции или помог с установкой.
Обратите внимание, несколько раз установить один сертификат нельзя. Он предназначен для работы на одном сайте, а при установке на разные может возникнуть ошибка. Или, если эта процедура всё же удастся, сайты окажутся уязвимыми, а данные пользователей и владельцев сайта неизбежно будут скомпрометированы.