Я запускаю свое приложение в производство и мне нужна помощь в создании корпоративной социальной ответственности. Я создал закрытый ключ и выполнил следующие шаги:
openssl genrsa -des3 -out domainname.key 1024
)openssl req -new -key domainname.key -out domainname.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.