Example #1
0
 /**
  * Reads the value of the extension given by OID or name as defined in section 4.2 of RFC 2459.
  *
  * @param extensionOidOrName OID or extension name, e.g. 2.5.29.14 orSubjectK eyIdentifier. In the
  *     case of extension name, the name is case-sensitive and follows the conventions in RFC 2459.
  * @return Extension type containing data from requested extension field.
  */
 public ASN1Encodable read(final String extensionOidOrName) {
   if (extensionOidOrName == null) {
     throw new IllegalArgumentException("extensionOidOrName cannot be null.");
   }
   if (extensionOidOrName.contains(".")) {
     return read(ExtensionType.fromOid(extensionOidOrName));
   } else {
     return read(ExtensionType.fromName(extensionOidOrName));
   }
 }
Example #2
0
 /**
  * Reads the value of the given certificate extension field.
  *
  * @param extension Extension to read from certificate.
  * @return Extension type containing data from requested extension field.
  */
 public ASN1Encodable read(final ExtensionType extension) {
   byte[] data = certificate.getExtensionValue(extension.getOid());
   if (data == null) {
     return null;
   }
   try {
     ASN1Encodable der = ASN1Primitive.fromByteArray(data);
     if (der instanceof ASN1OctetString) {
       // Strip off octet string "wrapper"
       data = ((ASN1OctetString) der).getOctets();
       der = ASN1Primitive.fromByteArray(data);
     }
     return der;
   } catch (IOException e) {
     throw new IllegalArgumentException("IO exception parsing ASN.1 data", e);
   }
 }