Проект OIOSAML использует API Bouncy Castle, управляемый Apache Ivy.
Часть ivi.xml:
...
<dependency org="org.bouncycastle" name="bcprov-jdk15on" rev="1.49" conf="*->*,!sources,!javadoc"/>
<dependency org="org.bouncycastle" name="bcpkix-jdk15on" rev="1.49" conf="*->*,!sources,!javadoc"/>
...
Я использую Maven с теми же зависимостями. Часть pom.xml:
...
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.49</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.49</version>
</dependency>
...
Однако я не могу найти поля subjectKeyIdentifier
и authorityKeyIdentifier
в классе X509Extension
.
Часть класса SecurityHelper
:
package dk.itst.oiosaml.security;
public class SecurityHelper {
...
public static X509Certificate generateCertificate(Credential credential, String entityId) throws Exception {
...
gen.addExtension(X509Extension.subjectKeyIdentifier, false, new JcaX509ExtensionUtils().createSubjectKeyIdentifier(credential.getPublicKey()));
gen.addExtension(X509Extension.authorityKeyIdentifier, false, new JcaX509ExtensionUtils().createAuthorityKeyIdentifier(credential.getPublicKey()));
...
}
}
Класс X509Extension
:
package org.bouncycastle.asn1.x509;
public class X509Extension {
boolean critical;
org.bouncycastle.asn1.ASN1OctetString value;
public X509Extension(org.bouncycastle.asn1.DERBoolean derBoolean, org.bouncycastle.asn1.ASN1OctetString asn1OctetString) { /* compiled code */ }
public X509Extension(boolean b, org.bouncycastle.asn1.ASN1OctetString asn1OctetString) { /* compiled code */ }
public boolean isCritical() { /* compiled code */ }
public org.bouncycastle.asn1.ASN1OctetString getValue() { /* compiled code */ }
public int hashCode() { /* compiled code */ }
public boolean equals(java.lang.Object o) { /* compiled code */ }
public static org.bouncycastle.asn1.ASN1Object convertValueToObject(org.bouncycastle.asn1.x509.X509Extension x509Extension) throws java.lang.IllegalArgumentException { /* compiled code */ }
}
Какую версию API Bouncy Castle необходимо использовать для работы с OIOSAML? Я был бы очень благодарен за информацию. Спасибо всем.
Это org.bouncycastle-bcprov-jdk15.jar
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.46</version>
</dependency>
org.bouncycastle.asn1.x509.X509Extension
устарела в пользуorg.bouncycastle.asn1.x509.Extension
но все еще присутствует в BC 1.49 и BC 1.50, и поля, упомянутые в вопросе, также присутствуют. Что вы подразумеваете под "не могу найти эти поля"?