Я хотел бы создать сертификат для подписи программного обеспечения нашей компании. Инструмент, который я использую для этого (keytool из Java SDK) ожидает различающееся имя в следующем формате:Как выбрать название сертификата компании X.509?
CN=commonName, OU=organizationalUnit, O=organizationName, L=city, S=state, C=countryCode
Если я просто хочу сертификат для моей компании (не для какого-либо конкретного человека в нем), я должен использовать
CN=MyCompany, C=AT
или
O=MyCompany, C=AT
как отличительное имя? Последнее будет иметь больше смысла (поскольку MyCompany - это название организации), но я не знаю, является ли оно «правильным», чтобы оставить commonName пустым.
Общепринятой практикой является ваше полное доменное имя в CN. – Stefan
@Stefan это относится только к сертификатам, используемым в SSL/TLS (и даже там CN может быть пустым, а доменное имя может быть помещено в расширение SubjectAlternativeName). Для подписи кода это не имеет смысла. –
«Общепринятая практика заключается в том, чтобы поместить ваше полное доменное имя в CN» - эта практика устарела в [Базовые требования к CA/B] (https://cabforum.org/baseline-requirements-documents/) (см. Раздел 9). Имена должны всегда находиться в 'SAN' (и если присутствует' CN', он также должен быть указан в 'SAN'). Я не верю, что RFC (2818, 5280, 6125) имеют аналогичные ограничения (но они бывают быстрыми и свободными в любом случае). Однако я получаю впечатление, что @Heinzi не говорит о сертификатах конечных объектов. – jww