KeyUsage usage = new KeyUsage(KeyUsage.keyCertSign | KeyUsage.digitalSignature | KeyUsage.keyEncipherment | KeyUsage.dataEncipherment | KeyUsage.cRLSign); gen.addExtension(Extension.keyUsage, false, usage); GeneralNames issuerAltName = new GeneralNames(new GeneralName(new X509Name("CN=somedomain.tld"))); gen.addExtension(X509Extensions.IssuerAlternativeName, false, issuerAltName);
/** * Return a X509Name based on the passed in tagged object. * * @param obj tag object holding name. * @param explicit true if explicitly tagged false otherwise. * @return the X509Name */ public static X509Name getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(ASN1Sequence.getInstance(obj, explicit)); }
/** * Constructor from an X509Name object. */ public X509Principal( X509Name name) { super((ASN1Sequence)name.toASN1Primitive()); }
private boolean equivalentStrings(String s1, String s2) { String value = canonicalize(s1); String oValue = canonicalize(s2); if (!value.equals(oValue)) { value = stripInternalSpaces(value); oValue = stripInternalSpaces(oValue); if (!value.equals(oValue)) { return false; } } return true; }
return this.equals(obj); if (this.toASN1Primitive().equals(derO)) other = X509Name.getInstance(obj); String oValue = (String)other.values.elementAt(i); if (!equivalentStrings(value, oValue))
if (this.toASN1Primitive().equals(derO)) other = X509Name.getInstance(obj); if (equivalentStrings(value, oValue))
names.add(new GeneralName(X509Name.getInstance(new DERSequence(vec)))); try genNames[0] = new GeneralName(new X509Name( (ASN1Sequence)ASN1Sequence.fromByteArray(CertPathValidatorUtilities .getEncodedIssuerPrincipal(cert).getEncoded()))); genNames[j] = new GeneralName(new X509Name(new DERSequence(vec)));
private void addEntry(Hashtable lookUp, String token, Boolean isAdded) { X509NameTokenizer vTok; String name; String value;ASN1ObjectIdentifier oid; vTok = new X509NameTokenizer(token, '='); name = vTok.nextToken(); if (!vTok.hasMoreTokens()) { throw new IllegalArgumentException("badly formatted directory string"); } value = vTok.nextToken(); oid = decodeOID(name, lookUp); this.ordering.addElement(oid); this.values.addElement(unescape(value)); this.added.addElement(isAdded); }
private String canonicalize(String s) { String value = Strings.toLowerCase(s.trim()); if (value.length() > 0 && value.charAt(0) == '#') { ASN1Primitive obj = decodeObject(value); if (obj instanceof ASN1String) { value = Strings.toLowerCase(((ASN1String)obj).getString().trim()); } } return value; }
values.addElement("#" + bytesToString(Hex.encode(value.toASN1Primitive().getEncoded(ASN1Encoding.DER))));
appendValue(ava, oidSymbols, (ASN1ObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i)); appendValue(ava, oidSymbols, (ASN1ObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i));
return this.equals(obj); if (this.toASN1Primitive().equals(derO)) other = X509Name.getInstance(obj); String oValue = (String)other.values.elementAt(i); if (!equivalentStrings(value, oValue))
if (this.toASN1Primitive().equals(derO)) other = X509Name.getInstance(obj); if (equivalentStrings(value, oValue))
private boolean equivalentStrings(String s1, String s2) { String value = canonicalize(s1); String oValue = canonicalize(s2); if (!value.equals(oValue)) { value = stripInternalSpaces(value); oValue = stripInternalSpaces(oValue); if (!value.equals(oValue)) { return false; } } return true; }
private String canonicalize(String s) { String value = Strings.toLowerCase(s.trim()); if (value.length() > 0 && value.charAt(0) == '#') { ASN1Primitive obj = decodeObject(value); if (obj instanceof ASN1String) { value = Strings.toLowerCase(((ASN1String)obj).getString().trim()); } } return value; }
values.addElement("#" + bytesToString(Hex.encode(value.toASN1Primitive().getEncoded(ASN1Encoding.DER))));
appendValue(ava, oidSymbols, (ASN1ObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i)); appendValue(ava, oidSymbols, (ASN1ObjectIdentifier)ordering.elementAt(i), (String)values.elementAt(i));
/** * Constructor from an X509Name object. */ public X509Principal( X509Name name) { super((ASN1Sequence)name.toASN1Primitive()); }