Я использую библиотеку bouncycastle для создания сертификатов и их экспорта в файлы файлов сертификатов PKCS12 в веб-приложении Java.
Код в моем приложении для создания файла сертификата такой же, как на этой странице (см. Шаг 5).
Когда я импортирую сертификат в свой магазин, я вижу понятное имя в моем сертификате как комбинацию информации о пользователе и действительно длинного идентификатора, который всегда начинается с константы, содержащейся в следующем интерфейсе, за которой следует строка HEX. :
- org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_9
Удаление кода, который, кажется, хранит понятное имя, не влияет на приложение (см. Код ниже).
PKCS12BagAttributeCarrier bagCert = clientCert;
bagCert.setBagAttribute(PKCSObjectIdentifiers.pkcs_9_at_friendlyName, new DERBMPString("My friendly name for the new certificate"));
bagCert.setBagAttribute(PKCSObjectIdentifiers.pkcs_9_at_localKeyId, new SubjectKeyIdentifierStructure(pubKey));
Я использую bouncycastle 1.45 для JDK5.
Что я ожидаю от моего веб-приложения, так это то, что оно выдает строку «Мое понятное имя для нового сертификата» в качестве понятного имени сертификата.