SubjectKeyIdentifierExtension DerValue ошибка

Я хотел бы создать объект SubjectKeyIdentifierExtension.

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA", "SunRsaSign");
keyGen.initialize(2048, new SecureRandom());
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();

SubjectKeyIdentifierExtension extension = new SubjectKeyIdentifierExtension(false, new KeyIdentifier(publicKey).getIdentifier());

Я даю всегда исключение с двумя сообщениями:

  • java.io.IOException: дополнительные данные передаются конструктору DerValue
  • java.io.IOException: DerInputStream.getLength(): lengthTag=8, слишком большой.item

Я использовал эти примеры:

Кто-нибудь есть идеи, как я могу создать класс SubjectKeyIdentifierExtension без исключения.

модификация

Я могу сделать это с Bouncy Caste, но я бы хотел сделать это без BC.

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA", "SunRsaSign");

keyGen.initialize(2048, new SecureRandom());
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();

SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(publicKey.getEncoded());
SubjectKeyIdentifier subjectKeyIdentifier = new BcX509ExtensionUtils().createSubjectKeyIdentifier(info);

SubjectKeyIdentifierExtension extension = new SubjectKeyIdentifierExtension(false, subjectKeyIdentifier.getEncoded());

0 ответов

Другие вопросы по тегам