public static CVCertificateRequest getInstance(Object obj) { if (obj instanceof CVCertificateRequest) { return (CVCertificateRequest)obj; } else if (obj != null) { try { return new CVCertificateRequest(DERApplicationSpecific.getInstance(obj)); } catch (IOException e) { throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); } } return null; }
/** * Create an iso7816Certificate structure from an object. * * @param obj the Object to extract the certificate from. * @return the Iso7816CertificateStructure represented by the byte stream. * @throws IOException if there is a problem parsing the data. */ public static CVCertificate getInstance(Object obj) { if (obj instanceof CVCertificate) { return (CVCertificate)obj; } else if (obj != null) { try { return new CVCertificate(DERApplicationSpecific.getInstance(obj)); } catch (IOException e) { throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); } } return null; }
public static CVCertificateRequest getInstance(Object obj) { if (obj instanceof CVCertificateRequest) { return (CVCertificateRequest)obj; } else if (obj != null) { try { return new CVCertificateRequest(ASN1ApplicationSpecific.getInstance(obj)); } catch (IOException e) { throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); } } return null; }
/** * Create an iso7816Certificate structure from an object. * * @param obj the Object to extract the certificate from. * @return the Iso7816CertificateStructure represented by the byte stream. */ public static CVCertificate getInstance(Object obj) { if (obj instanceof CVCertificate) { return (CVCertificate)obj; } else if (obj != null) { try { return new CVCertificate(DERApplicationSpecific.getInstance(obj)); } catch (IOException e) { throw new ASN1ParsingException("unable to parse data: " + e.getMessage(), e); } } return null; }
public ASN1SetParser getAuthAttrs() throws IOException { if (nextObject == null) { nextObject = seq.readObject(); } if (nextObject instanceof ASN1TaggedObjectParser) { ASN1Encodable o = nextObject; nextObject = null; return (ASN1SetParser)((ASN1TaggedObjectParser)o).getObjectParser(BERTags.SET, false); } // "The authAttrs MUST be present if the content type carried in // EncryptedContentInfo is not id-data." if (!authEncryptedContentInfoParser.getContentType().equals(CMSObjectIdentifiers.data)) { throw new ASN1ParsingException("authAttrs must be present with non-data content"); } return null; }
/** * For all string values starting with '#' is assumed, that these are * already valid ASN.1 objects encoded in hex. * <p> * All other string values are send to * {@link AbstractX500NameStyle#encodeStringValue(ASN1ObjectIdentifier, String)}. * </p> * Subclasses should overwrite * {@link AbstractX500NameStyle#encodeStringValue(ASN1ObjectIdentifier, String)} * to change the encoding of specific types. * * @param oid the DN name of the value. * @param value the String representation of the value. */ public ASN1Encodable stringToValue(ASN1ObjectIdentifier oid, String value) { if (value.length() != 0 && value.charAt(0) == '#') { try { return IETFUtils.valueFromHexString(value, 1); } catch (IOException e) { throw new ASN1ParsingException("can't recode value for oid " + oid.getId()); } } if (value.length() != 0 && value.charAt(0) == '\\') { value = value.substring(1); } return encodeStringValue(oid, value); }
public AuthEnvelopedDataParser(ASN1SequenceParser seq) throws IOException { this.seq = seq; // "It MUST be set to 0." this.version = ASN1Integer.getInstance(seq.readObject()); if (this.version.getValue().intValue() != 0) { throw new ASN1ParsingException("AuthEnvelopedData version number must be 0"); } }