/** * Retrieve an ExtendedKeyUsage for a passed in Extensions object, if present. * * @param extensions the extensions object to be examined. * @return the ExtendedKeyUsage, null if the extension is not present. */ public static ExtendedKeyUsage fromExtensions(Extensions extensions) { return ExtendedKeyUsage.getInstance(extensions.getExtensionParsedValue(Extension.extendedKeyUsage)); }
/** * Retrieve an ExtendedKeyUsage for a passed in Extensions object, if present. * * @param extensions the extensions object to be examined. * @return the ExtendedKeyUsage, null if the extension is not present. */ public static ExtendedKeyUsage fromExtensions(Extensions extensions) { return ExtendedKeyUsage.getInstance(extensions.getExtensionParsedValue(Extension.extendedKeyUsage)); }
/** * Return an ExtendedKeyUsage from the passed in tagged object. * * @param obj the tagged object containing the ExtendedKeyUsage * @param explicit true if the tagged object should be interpreted as explicitly tagged, false if implicit. * @return the ExtendedKeyUsage contained. */ public static ExtendedKeyUsage getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(ASN1Sequence.getInstance(obj, explicit)); }
/** * Return an ExtendedKeyUsage from the passed in tagged object. * * @param obj the tagged object containing the ExtendedKeyUsage * @param explicit true if the tagged object should be interpreted as explicitly tagged, false if implicit. * @return the ExtendedKeyUsage contained. */ public static ExtendedKeyUsage getInstance( ASN1TaggedObject obj, boolean explicit) { return getInstance(ASN1Sequence.getInstance(obj, explicit)); }
private static Set<String> getExtKeyUsage(final byte[] extensionValue) { Set<String> usages = new HashSet<>(); org.bouncycastle.asn1.x509.ExtendedKeyUsage reqKeyUsage = org.bouncycastle.asn1.x509.ExtendedKeyUsage.getInstance(extensionValue); for (KeyPurposeId usage : reqKeyUsage.getUsages()) { usages.add(usage.getId()); } return usages; }
/** * Creates a {@link KeyPurposeIdList} object from DER data. * * @param enc DER encoded key purpose identifier data. * * @return Key purpose ID list object. */ public static KeyPurposeIdList createKeyPurposeIdList(final DEREncodable enc) { final org.bouncycastle.asn1.x509.ExtendedKeyUsage usages = org.bouncycastle.asn1.x509.ExtendedKeyUsage.getInstance(enc); final List<KeyPurposeId> idList = new ArrayList<KeyPurposeId>(); for (Object usage : usages.getUsages()) { idList.add(KeyPurposeId.getByOid(usage.toString())); } return new KeyPurposeIdList(idList); }
private void prepopulateWithValue(byte[] value) throws IOException { ExtendedKeyUsage extendedKeyUsage = ExtendedKeyUsage.getInstance(value);
private String getExtendedKeyUsageStringValue(byte[] value) { // @formatter:off /* * ExtendedKeyUsage ::= ASN1Sequence SIZE (1..MAX) OF KeyPurposeId * * KeyPurposeId ::= OBJECT IDENTIFIER */ // @formatter:on StringBuilder sb = new StringBuilder(); ExtendedKeyUsage extendedKeyUsage = ExtendedKeyUsage.getInstance(value); for (KeyPurposeId keyPurposeId : extendedKeyUsage.getUsages()) { String oid = keyPurposeId.getId(); ExtendedKeyUsageType type = ExtendedKeyUsageType.resolveOid(oid); if (type != null) { sb.append(type.friendly()); } else { // Unrecognised key purpose ID sb.append(oid); } sb.append(NEWLINE); } return sb.toString(); }
| KeyUsage.keyEncipherment)) .addExtension(Extension.extendedKeyUsage, true, ExtendedKeyUsage.getInstance(new DERSequence(new ASN1Encodable[]{ KeyPurposeId.id_kp_clientAuth, KeyPurposeId.id_kp_serverAuth }))
@Override @SuppressWarnings( "SetReplaceableByEnumSet" ) public Set<ExtendedKeyUsage> getExtendedKeyUsages( X509Certificate cert ) { try { byte[] value = cert.getExtensionValue( X509Extensions.ExtendedKeyUsage.getId() ); if ( value == null ) { return Collections.emptySet(); } byte[] asn1octets = ( ( ASN1OctetString ) ASN1Object.fromByteArray( value ) ).getOctets(); org.bouncycastle.asn1.x509.ExtendedKeyUsage usages = org.bouncycastle.asn1.x509.ExtendedKeyUsage.getInstance( ( ASN1Sequence ) ASN1Sequence.fromByteArray( asn1octets ) ); Set<ExtendedKeyUsage> keyUsages = new LinkedHashSet<ExtendedKeyUsage>(); for ( ExtendedKeyUsage eachPossible : ExtendedKeyUsage.values() ) { if ( usages.hasKeyPurposeId( eachPossible.getKeyPurposeId() ) ) { keyUsages.add( eachPossible ); } } return keyUsages; } catch ( IOException ex ) { throw new CryptoFailure( "Unable to extract ExtendedKeyUsages from X509Certificate extensions", ex ); } }
private static void addRequestedExtKeyusage(List<ASN1ObjectIdentifier> usages, Extensions requestedExtensions, Set<ExtKeyUsageControl> usageOccs) { Extension extension = requestedExtensions.getExtension(Extension.extendedKeyUsage); if (extension == null) { return; } ExtendedKeyUsage reqKeyUsage = ExtendedKeyUsage.getInstance(extension.getParsedValue()); for (ExtKeyUsageControl k : usageOccs) { if (k.isRequired()) { continue; } if (reqKeyUsage.hasKeyPurposeId(KeyPurposeId.getInstance(k.getExtKeyUsage()))) { usages.add(k.getExtKeyUsage()); } } } // method addRequestedExtKeyusage
Set<String> isUsages = new HashSet<>(); org.bouncycastle.asn1.x509.ExtendedKeyUsage keyusage = org.bouncycastle.asn1.x509.ExtendedKeyUsage.getInstance(extensionValue); KeyPurposeId[] usages = keyusage.getUsages(); if (usages != null) { if (extension != null) { org.bouncycastle.asn1.x509.ExtendedKeyUsage reqKeyUsage = org.bouncycastle.asn1.x509.ExtendedKeyUsage.getInstance( extension.getParsedValue()); for (ExtKeyUsageControl k : optionalExtKeyusage) {
final ExtendedKeyUsage usages = ExtendedKeyUsage.getInstance(exValue);
((ASN1OctetString) asn1InputStream.readObject()).getOctets())); ExtendedKeyUsage extendedKeyUsage = ExtendedKeyUsage .getInstance(asn1InputStream.readObject()); if (false == extendedKeyUsage .hasKeyPurposeId(KeyPurposeId.id_kp_codeSigning)) {
return KeyUsage.getInstance(bs); } else if (oid.equals(Extension.extendedKeyUsage)) { return ExtendedKeyUsage.getInstance(data); } else if (oid.equals(MiscObjectIdentifiers.netscapeCertComment)) { try {
return KeyUsage.getInstance(bs); } else if (oid.equals(Extension.extendedKeyUsage)) { return ExtendedKeyUsage.getInstance(data); } else if (oid.equals(MiscObjectIdentifiers.netscapeCertComment)) { try {