【发布时间】:2014-07-08 12:40:47
【问题描述】:
项目 OIOSAML 使用 Bouncy Castle API,由 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>
...
但是,我在 X509Extension 类中找不到字段 subjectKeyIdentifier 和 authorityKeyIdentifier。
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 */ }
}
使用 OIOSAML 需要使用哪个版本的 Bouncy Castle API?
【问题讨论】:
-
org.bouncycastle.asn1.x509.X509Extension已弃用,取而代之的是org.bouncycastle.asn1.x509.Extension但仍存在于 BC 1.49 和 BC 1.50 中,并且问题中提到的字段也存在。 “找不到这些字段”是什么意思?
标签: java maven bouncycastle saml-2.0 opensaml