/**
  * Set the issuer distinguished name - the issuer is the entity whose private key is used to sign
  * the certificate.
  */
 public void setIssuerDN(X500Principal issuer) {
   try {
     tbsGen.setIssuer(new X509Principal(issuer.getEncoded()));
   } catch (IOException e) {
     throw new IllegalArgumentException("can't process principal: " + e);
   }
 }
 /**
  * Set the issuer distinguished name - the issuer is the entity whose private key is used to sign
  * the certificate.
  */
 public void setIssuerDN(X509Name issuer) {
   tbsGen.setIssuer(issuer);
 }