Hi,
I'm trying to create a new Certificate Signing Request () using the
BouncyCastle libraries. I can generate a basic CSR without the code between the
#Begin and end add extension. However when I try to add the DERObjectIdentifier
I get an "NoMethodError: undefined method `DERObjectIdentifier' for
#<ScepEnroler:0x6cf6cb21>" error.
Any assistance would be appreciated.
Best Regards,
Carl
java_import org.bouncycastle.asn1.DERPrintableString
java_import org.bouncycastle.asn1.DERObjectIdentifier
entityname = X500Name.new("#{@entityname}")
newentitypair = KeyPairGenerator.getInstance("RSA")
newentitypair.initialize__method(2048)
entitypair = newentitypair.genKeyPair
publickeyinfo =
SubjectPublicKeyInfo.getInstance(entitypair.getPublic.getEncoded)
csrbuilder = PKCS10CertificationRequestBuilder.new(entityname, publickeyinfo )
puts csrbuilder
csrbuilder.addAttribute(PKCSObjectIdentifiers::pkcs_9_at_challengePassword,
DERPrintableString.new("#{@challengepassword}"))
#Begin add extension
extensionsGenerator = org.bouncycastle.asn1.x509.ExtensionsGenerator.new
vec = ASN1EncodableVector.new
v = ASN1EncodableVector.new
v.add(DERObjectIdentifier("1.3.6.1.4.1.311.20.2.3").new)
v.add(DERTaggedObject(true, 0, DERUTF8String("[email protected]").new ).new)
ASN1Object gn = DERTaggedObject(false, 0, DERSequence(v).new).new
vec.add(gn)
extensionsGenerator.addExtension( Extension.subjectAlternativeName, true,
DERSequence(vec).new )
csrbuilder.addAttribute( PKCSObjectIdentifiers.pkcs_9_at_extensionRequest,
extensionsGenerator.generate() )
#End add extension
signer = signerbuilder.build(entitypair.getPrivate)
puts signer
csr = csrbuilder.build(signer)