Index: src/java/org/jruby/ext/openssl/x509store/X509Utils.java
===================================================================
--- src/java/org/jruby/ext/openssl/x509store/X509Utils.java (revision 1135)
+++ src/java/org/jruby/ext/openssl/x509store/X509Utils.java (working copy)
@@ -32,6 +32,7 @@
import org.bouncycastle.asn1.ASN1InputStream;
import org.bouncycastle.asn1.ASN1OctetString;
import org.bouncycastle.asn1.ASN1Sequence;
+import org.bouncycastle.asn1.DEREncodable;
import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.DERTaggedObject;
@@ -250,7 +251,14 @@
X509Name nm = null;
for(int i=0;i<gens.length;i++) {
if(gens[i].getTagNo() == GeneralName.directoryName) {
- nm = (X509Name)gens[i].getName();
+ DEREncodable nameTmp = gens[i].getName();
+ if (nameTmp instanceof X509Name) {
+ nm = (X509Name)nameTmp;
+ } else if (nameTmp instanceof DERSequence) {
+ nm = new X509Name((DERSequence)nameTmp);
+ } else {
+ throw new RuntimeException("unknown name type in X509Utils: " + nameTmp);
+ }
break;
}
}