In order to take advantage of the specialized certificate format supported by this certificate factory, the returned certificate object can be typecast to the corresponding certificate class. For example, if this certificate factory implements X.509 certificates, the returned certificate object can be typecast to the {@code X509Certificate} class.
In the case of a certificate factory for X.509 certificates, the certificate provided in {@code inStream} must be DER-encoded andmay be supplied in binary or printable (Base64) encoding. If the certificate is provided in Base64 encoding, it must be bounded at the beginning by -----BEGIN CERTIFICATE-----, and must be bounded at the end by -----END CERTIFICATE-----.
Note that if the given input stream does not support {@link java.io.InputStream#mark(int) mark} and{@link java.io.InputStream#reset() reset}, this method will consume the entire input stream. Otherwise, each call to this method consumes one certificate and the read position of the input stream is positioned to the next available byte after the inherent end-of-certificate marker. If the data in the input stream does not contain an inherent end-of-certificate marker (other than EOF) and there is trailing data after the certificate is parsed, a {@code CertificateException} is thrown. @param inStream an input stream with the certificate data. @return a certificate object initialized with the datafrom the input stream. @exception CertificateException on parsing errors.
"-----BEGIN CERTIFICATE-----"
at the beginning and "-----END CERTIFICATE-----"
at the end) representation of the former encoded form. Before the generation the encoded form is looked up in the cache. If the cache contains the certificate with requested encoded form it is returned from it, otherwise it is generated by ASN.1 decoder.
@see java.security.cert.CertificateFactorySpi#engineGenerateCertificate(InputStream) method documentation for more info
|
|
|
|