public static CertificateModel fromASN1(ASN1InputStream stream) throws IOException {
   return CertificateModelFactory.from(
       new X509CertificateHolder(Certificate.getInstance(stream.readObject())));
 }
  public static CertificateModel firstFrom(Source source) throws IOException {
    List<X509CertificateHolder> certificates = PEMUtils.certificates(source);
    Verify.verify(!certificates.isEmpty(), "no certificates found");

    return CertificateModelFactory.from(certificates.iterator().next());
  }