Vector<DERObjectIdentifier> oids = new Vector<DERObjectIdentifier>();
if (altNames != null) {
GeneralNames san = CertTools.getGeneralNamesFromAltName(altNames);
dOut.writeObject(san);
byte[] value = bOut.toByteArray();
X509Extension sanext = new X509Extension(false, new DEROctetString(value));
values.add(sanext);
oids.add(X509Extensions.SubjectAlternativeName);
}
// KeyUsage
int bcku = 0;
bcku = X509KeyUsage.digitalSignature | X509KeyUsage.keyEncipherment | X509KeyUsage.nonRepudiation;
X509KeyUsage ku = new X509KeyUsage(bcku);
bOut = new ByteArrayOutputStream();
dOut = new DEROutputStream(bOut);
dOut.writeObject(ku);
byte[] value = bOut.toByteArray();
X509Extension kuext = new X509Extension(false, new DEROctetString(value));
values.add(kuext);
oids.add(X509Extensions.KeyUsage);
// Make the complete extension package
exts = new X509Extensions(oids, values);