sun.security.x509.X509CertInfo类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(224)

本文整理了Java中sun.security.x509.X509CertInfo类的一些代码示例,展示了X509CertInfo类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。X509CertInfo类的具体详情如下:
包路径:sun.security.x509.X509CertInfo
类名称:X509CertInfo

X509CertInfo介绍

暂无

代码示例

代码示例来源:origin: redisson/redisson

X509CertInfo info = new X509CertInfo();
X500Name owner = new X500Name("CN=" + fqdn);
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new BigInteger(64, random)));
try {
  info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
} catch (CertificateException ignore) {
  info.set(X509CertInfo.SUBJECT, owner);
  info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
} catch (CertificateException ignore) {
  info.set(X509CertInfo.ISSUER, owner);
info.set(X509CertInfo.VALIDITY, new CertificateValidity(notBefore, notAfter));
info.set(X509CertInfo.KEY, new CertificateX509Key(keypair.getPublic()));
info.set(X509CertInfo.ALGORITHM_ID,
    new CertificateAlgorithmId(new AlgorithmId(AlgorithmId.sha256WithRSAEncryption_oid)));
info.set(CertificateAlgorithmId.NAME + '.' + CertificateAlgorithmId.ALGORITHM, cert.get(X509CertImpl.SIG_ALG));
cert = new X509CertImpl(info);
cert.sign(key, "SHA256withRSA");

代码示例来源:origin: OpenAttestation/OpenAttestation

/**
 * 
 * @param dn like "CN=Dave, OU=JavaSoft, O=Sun Microsystems, C=US"
 * @return 
 */
public X509Builder subjectName(String dn) {
  try {
    certificateSubjectName = new CertificateSubjectName(new X500Name(dn));
    info.set(X509CertInfo.SUBJECT, certificateSubjectName); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "subjectName(%s)", dn);
  }
  return this;        
}

代码示例来源:origin: stackoverflow.com

PrivateKey privkey = pair.getPrivate();
X509CertInfo info = new X509CertInfo();
Date from = new Date();
//Validity for next one year
Date to = new Date(from.getTime() + (365) * 86400000l);

CertificateValidity interval = new CertificateValidity(from, to);

BigInteger sn = new BigInteger(64, new SecureRandom());
X500Name owner = new X500Name(dn);

info.set(X509CertInfo.VALIDITY, interval);
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(sn));
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
info.set(X509CertInfo.KEY, new CertificateX509Key(pair.getPublic()));
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
AlgorithmId algo = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
info.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algo));

// Sign the cert
X509CertImpl cert = new X509CertImpl(info);
cert.sign(privkey, algorithm);

//cert object is ready to use

代码示例来源:origin: stackoverflow.com

X500Name issuer = (X500Name) signerCertInfo.get(X509CertInfo.SUBJECT + "." + CertificateSubjectName.DN_NAME);
X509CertInfo certInfo = new X509CertInfo();
certInfo.set(X509CertInfo.VALIDITY, interval);
certInfo.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new Random().nextInt() & 0x7fffffff));
certInfo.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
try {
  certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(AlgorithmId.get(SIGNATURE_ALGORITHM)));
} catch (NoSuchAlgorithmException e) {
  throw new RuntimeException(e);
certInfo.set(X509CertInfo.ISSUER, new CertificateIssuerName(issuer));
certInfo.set(X509CertInfo.KEY, new CertificateX509Key(csr.getSubjectPublicKeyInfo()));
certInfo.set(X509CertInfo.SUBJECT, new CertificateSubjectName(csr.getSubjectName()));

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder issuerName(String dn) {
  try {
    certificateIssuerName = new CertificateIssuerName(new X500Name(dn));
    info.set(X509CertInfo.ISSUER, certificateIssuerName); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "issuerName(%s)", dn);
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder issuerName(CertificateIssuerName certificateIssuerName) {
  try {
    this.certificateIssuerName = certificateIssuerName;
    info.set(X509CertInfo.ISSUER, certificateIssuerName); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "issuerName(%s)", certificateIssuerName==null?"null":certificateIssuerName.toString());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder algorithm(AlgorithmId algorithmId) {
    try {
      this.algorithm = algorithmId; // new AlgorithmId(AlgorithmId.sha256WithRSAEncryption_oid); // md5WithRSAEncryption_oid
      info.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algorithm));
//                info.set(CertificateAlgorithmId.NAME + "." + CertificateAlgorithmId.ALGORITHM, algorithm); // was present in older monolith version of the certificate factory, but it seems we don't really need it
    }
    catch(Exception e) {
      fault(e, "algorithm(%s)", algorithmId.getName());
    }
    return this;
  }

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder valid(Date from, Date to) {
  try {
    certificateValidity = new CertificateValidity(from, to);
    info.set(X509CertInfo.VALIDITY, certificateValidity); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "valid(%s,%s)", from==null?"null":from.toString(), to==null?"null":to.toString());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder subjectName(X500Name subjectName) {
  try {
    certificateSubjectName = new CertificateSubjectName(subjectName);
    info.set(X509CertInfo.SUBJECT, certificateSubjectName); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "subjectName(%s)", subjectName==null?"null":subjectName.getRFC2253Name());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder randomSerial() {
  try {
    BigInteger sn = new BigInteger(64, new SecureRandom());
    certificateSerialNumber = new CertificateSerialNumber(sn);
    info.set(X509CertInfo.SERIAL_NUMBER, certificateSerialNumber);
  }
  catch(Exception e) {
    fault(e, "randomSerial");
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder subjectPublicKey(PublicKey publicKey) {
  try {
    subjectPublicKey = new CertificateX509Key(publicKey);
    info.set(X509CertInfo.KEY, subjectPublicKey); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "subjectPublicKey(%s)", publicKey==null?"null":String.format("%d bytes, %s %s",publicKey.getEncoded().length,publicKey.getAlgorithm(),publicKey.getFormat()));
  }
  return this;
}

代码示例来源:origin: Azure/azure-iot-sdk-java

private static X509Certificate createSignedCertificate(X509Certificate certificate, X509Certificate issuerCertificate,
                            PrivateKey issuerPrivateKey, boolean isLeaf)
    throws CertificateException, IOException, NoSuchProviderException,
        NoSuchAlgorithmException, InvalidKeyException, SignatureException
{
  Principal issuer = issuerCertificate.getSubjectDN();
  String issuerSigAlg = issuerCertificate.getSigAlgName();
  byte[] inCertBytes = certificate.getTBSCertificate();
  X509CertInfo info = new X509CertInfo(inCertBytes);
  info.set(X509CertInfo.ISSUER, issuer);
  if (!isLeaf)
  {
    CertificateExtensions exts = new CertificateExtensions();
    BasicConstraintsExtension bce = new BasicConstraintsExtension(true, -1);
    exts.set(BasicConstraintsExtension.NAME, new BasicConstraintsExtension(false, bce.getExtensionValue()));
    info.set(X509CertInfo.EXTENSIONS, exts);
  }
  X509CertImpl outCert = new X509CertImpl(info);
  outCert.sign(issuerPrivateKey, issuerSigAlg);
  return outCert;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder issuerName(X500Name issuerName) {
  try {
    certificateIssuerName = new CertificateIssuerName(issuerName);
    info.set(X509CertInfo.ISSUER, certificateIssuerName); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "issuerName(%s)", issuerName.getRFC2253Name());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder certificateValidity(CertificateValidity certificateValidity) {
  try {
    this.certificateValidity = certificateValidity;
    info.set(X509CertInfo.VALIDITY, certificateValidity); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "certificateValidity(%s)", certificateValidity==null?"null":certificateValidity.toString());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder certificateVersion(CertificateVersion version) {
  try {
    if( certificateVersion == null ) {
      this.certificateVersion = version;
      info.set(X509CertInfo.VERSION, certificateVersion); // CertificateException, IOException                
    }
    else {
      if( version != null && !certificateVersion.toString().equals(version.toString()) ) {
        fault("certificateVersion(%s) conflicts with previously set certificateVersion(%s)", version.toString(), certificateVersion.toString());
      }
    }
  }
  catch(Exception e) {
    fault(e, "certificateVersion(%d)", version==null?"null":version.toString());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder extKeyUsage(ObjectIdentifier oid) {
  try {
    v3();
    if( extendedKeyUsageExtensionList == null ) { extendedKeyUsageExtensionList = new Vector<ObjectIdentifier>(); }
    extendedKeyUsageExtensionList.add(oid);
    extendedKeyUsageExtension = new ExtendedKeyUsageExtension(extendedKeyUsageExtensionIsCritical, extendedKeyUsageExtensionList);
    if( certificateExtensions == null ) { certificateExtensions = new CertificateExtensions(); }
    certificateExtensions.set(extendedKeyUsageExtension.getExtensionId().toString(), extendedKeyUsageExtension);
    info.set(X509CertInfo.EXTENSIONS, certificateExtensions);             
  }
  catch(Exception e) {
    fault(e, "extKeyUsage(%s)", oid.toString());
  }
  return this;
}

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder expires(long expiration, TimeUnit units) {
  try {
    Date from = new Date();
    Date to = new Date(from.getTime() + TimeUnit.MILLISECONDS.convert(expiration, units));
    certificateValidity = new CertificateValidity(from, to);
    info.set(X509CertInfo.VALIDITY, certificateValidity); // CertificateException, IOException
  }
  catch(Exception e) {
    fault(e, "expires(%d,%s)", expiration, units==null?"null":units.name());
  }
  return this;
}

代码示例来源:origin: wildfly/wildfly

X509CertInfo info = new X509CertInfo();
X500Name owner = new X500Name("CN=" + fqdn);
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(new BigInteger(64, random)));
try {
  info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
} catch (CertificateException ignore) {
  info.set(X509CertInfo.SUBJECT, owner);
  info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
} catch (CertificateException ignore) {
  info.set(X509CertInfo.ISSUER, owner);
info.set(X509CertInfo.VALIDITY, new CertificateValidity(notBefore, notAfter));
info.set(X509CertInfo.KEY, new CertificateX509Key(keypair.getPublic()));
info.set(X509CertInfo.ALGORITHM_ID,
    new CertificateAlgorithmId(new AlgorithmId(AlgorithmId.sha1WithRSAEncryption_oid)));
info.set(CertificateAlgorithmId.NAME + '.' + CertificateAlgorithmId.ALGORITHM, cert.get(X509CertImpl.SIG_ALG));
cert = new X509CertImpl(info);
cert.sign(key, "SHA1withRSA");

代码示例来源:origin: OpenAttestation/OpenAttestation

public X509Builder dnsAlternativeName(String dns) {
  try {
    v3();
    String alternativeName = dns;
    if (dns.startsWith("dns:")) {
      alternativeName = dns.substring(4);
    }
    DNSName dnsName = new DNSName(alternativeName);
    if( alternativeNames == null ) { alternativeNames = new GeneralNames(); }
    alternativeNames.add(new GeneralName(dnsName));
    SubjectAlternativeNameExtension san = new SubjectAlternativeNameExtension(alternativeNames);
    if( certificateExtensions == null ) { certificateExtensions = new CertificateExtensions(); }
    certificateExtensions.set(san.getExtensionId().toString(), san);
    info.set(X509CertInfo.EXTENSIONS, certificateExtensions);
  }        
  catch(Exception e) {
    fault(e, "dnsAlternativeName(%s)", dns);
  }
  return this;
}

代码示例来源:origin: stackoverflow.com

X509CertInfo info = new X509CertInfo();
Date from = new Date();
Date to = new Date(from.getTime() + days * 86400000l);
CertificateValidity interval = new CertificateValidity(from, to);
BigInteger sn = new BigInteger(64, new SecureRandom());
X500Name owner = new X500Name(dn);
info.set(X509CertInfo.VALIDITY, interval);
info.set(X509CertInfo.SERIAL_NUMBER, new CertificateSerialNumber(sn));
info.set(X509CertInfo.SUBJECT, new CertificateSubjectName(owner));
info.set(X509CertInfo.ISSUER, new CertificateIssuerName(owner));
info.set(X509CertInfo.KEY, new CertificateX509Key(pair.getPublic()));
info.set(X509CertInfo.VERSION, new CertificateVersion(CertificateVersion.V3));
AlgorithmId algo = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
info.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algo));
info.set(CertificateAlgorithmId.NAME + "." + CertificateAlgorithmId.ALGORITHM, algo);
cert = new X509CertImpl(info);
cert.sign(privkey, algorithm);

相关文章

微信公众号

最新文章

更多