Это не имеет смысла, потому что сертификаты всегда подписаны.
С IETF RFC 5280, раздел 4.1 :
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version MUST be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
-- If present, version MUST be v3
}
Сертификат - этоподписанный TBSCertificate (подлежащий подписанию сертификат), а TBSCertificate уже должен иметь имя эмитента (4-е поле).Хотя каждая библиотека, которая может читать сертификаты X.509, имеет (фактически) анализатор TBSCertificate, на самом деле не ожидается, что это будет объект верхнего уровня.
Наиболее близким к «неподписанному сертификату» является запрос на сертификацию (разговорно«CSR»), но для этого все еще требуется закрытый ключ (см. Почему закрытый ключ используется при создании CSR? ).