Когда я создаю самозаверяющий сертификат для внутреннего ЦС, должен ли я сделать так, чтобы DN эмитента совпадало с DN в запросе, должны ли они быть разными или нет соглашения для того или другого?
Вот определения из RFC 5280 (раздел 3.2):
Self-issued certificates are CA certificates in which the issuer and subject are the same entity. Self-issued certificates are generated to support changes in policy or operations. Self- signed certificates are self-issued certificates where the digital signature may be verified by the public key bound into the certificate. Self-signed certificates are used to convey a public key for use to begin certification paths.
Так что да, по определению, поскольку самозаверяющий сертификат - это конкретный сертификат, выданный самим, его DN эмитента должен совпадать с DN субъекта.
(Должен ли этот DN субъекта быть в CSR - это другой вопрос, поскольку (а) CA не обязаны хранить точное DN субъекта при преобразовании CSR в сертификат (фактически они должны проверять все, что они помещают в сертификат). сертификат другим способом) и (б) шаги, которые превращают CSR в самоподписанный сертификат, больше связаны с тем, как openssl
используется для этого и как он настроен. Это действительно мелочь.)
Независимо от того, хотите ли вы, чтобы ваш собственный центр сертификации был самоподписанным или выдавался самостоятельно, вам решать. В целом это имеет смысл (по крайней мере, для ясности). В принципе, сертификаты ЦС, используемые в качестве якорей доверия удаленными сторонами, не должны быть самоподписанными (см. Раздел 6):
The selection of a trust anchor is a matter of policy: it could be the top CA in a hierarchical PKI, the CA that issued the verifier's own certificate(s), or any other CA in a network PKI. The path validation procedure is the same regardless of the choice of trust anchor.