Назад | Перейти на главную страницу

Могу ли я сгенерировать CSR для удаленного сервера и какой сервер мне следует использовать (тонкий, беспородный)?

Я запускаю свое приложение в производство и мне нужна помощь в создании корпоративной социальной ответственности. Я создал закрытый ключ и выполнил следующие шаги:

  1. Создан закрытый ключ
  2. Введена кодовая фраза для него (openssl genrsa -des3 -out domainname.key 1024)
  3. Создан CSR (openssl req -new -key domainname.key -out domainname.csr)
  4. В CSR я ввел всю инфу. Общее имя было в формате: XX.XXX.XXX:3000, где X - число.

Наконец, я сгенерировал CSR, но на данном этапе мое приложение находится на удаленном сервере с IP-адресом. http://XX.XXX.XXX.XXX:3000/ и дальше thawte.com при генерации пробного SSL он показывает мне ошибку:

   The Common Name in the CSR is invalid.

У кого-нибудь была подобная задача и может ли я посоветовать, что я сделал не так?

Второй вопрос: Какой сервер вы можете мне порекомендовать и, соответственно, какую веб-платформу (при генерации SSL) мне выбрать в списке?

Общие имена не содержат номеров портов или двоеточий, например :3000. Это не должен быть IP-адрес. Они также не содержат идентификаторов протоколов, таких как https://.

Если мне не изменяет память, цифры сами по себе не подходят в качестве имени домена (хотя они могут быть для поддоменов), и нет домена верхнего уровня, который представляет собой просто номер. Ваше общее имя XX.XXX.XXX:3000 где X - числа, это не IP-адрес или доменное имя.

Общее имя не должно быть ничем иным, как полностью определенным доменным именем, для которого будет использоваться сертификат.

Ты можешь использовать *.example.com для общего имени, если вы запрашиваете групповой сертификат.

Если ваше приложение работает на порту 3000, вам следует запросить сертификат обычным образом, без номера порта, а затем указать клиентам использовать порт 3000. Если клиентом является веб-браузер, это делается в URL: `https://www.example.com:3000/"


Выбор «Веб-платформы» не является обязательным и позволяет Thawte предоставлять вам файлы в формате, требуемом для этого программного обеспечения. Например, nginx требует, чтобы сертификат и все сертификаты цепочки находились в одном файле в правильном порядке. Apache может иметь их в отдельных файлах и импортировать их оба с помощью SSLCertificateFile и SSLCertificateChainFile. Если ваш веб-сайт работает на известном HTTP-сервере из списка, выберите это программное обеспечение. Если вы написали его сами или это специальное программное обеспечение, написанное для вас, и его нет в списке, проконсультируйтесь с производителями программного обеспечения.

Общее имя было в формате: XX.XXX.XXX:3000, где X - число.

Во-первых, имя хоста или IP-адрес в сертификате не должны включать порт.

Во-вторых, предполагая, что XX.XXX.XXX является IP-адресом, IP-адреса должны быть в записи альтернативного имени субъекта типа IP-адреса (не типа DNS и не в CN DN субъекта). Видеть RFC 2818:

В некоторых случаях URI указывается как IP-адрес, а не как
имя хоста. В этом случае должен присутствовать iPAddress subjectAltName.
в сертификате и должен точно соответствовать IP в URI.

Некоторые клиенты более спокойно относятся к этому, но это не причина для получения сертификата, не соответствующего требованиям.

Я не уверен, что Thawte все равно выдаст вам сертификат для IP-адреса, поскольку им довольно сложно проверить, кому принадлежит IP-адрес.

(Я немного удивлен, что они даже потрудились взглянуть на CN, поскольку все, что им действительно нужно, это получить открытый ключ от CA и выдать сертификат только с тем, что они независимо проверили, в любом случае.)

В поле «Общее имя» должно быть указано полное доменное имя (FQDN) или веб-адрес, для которого вы планируете использовать свой сертификат, например область вашего сайта, к которой вы хотите, чтобы клиенты подключались с помощью SSL. Если веб-адрес, который будет использоваться для SSL, - www.example-name.com, убедитесь, что общее имя, представленное в CSR, - www.example-name.com; аналогично, если веб-адрес, который будет использоваться для SSL, - secure.example-name.com, убедитесь, что общее имя, представленное в CSR, - secure.example-name.com.