public interface CertificateBuilder
The default type of certificate is an X509 certificate, however, there are a number of considerations when using this interface to generate self-signed certificates.
Example Use
CertificateParameter cp = new CertificateParameter();
X500NameBuilder subject = new X500NameBuilder();
subject.addRDN(X509ObjectIdentifiers.countryName, "GB");
subject.addRDN(X509ObjectIdentifiers.stateOrProvinceName, "Middlesex");
subject.addRDN(X509ObjectIdentifiers.localityName, "Uxbridge");
subject.addRDN(X509ObjectIdentifiers.organization, "Adaptris");
subject.addRDN(X509ObjectIdentifiers.organizationalUnitName, "Development");
subject.addRDN(X509ObjectIdentifiers.commonName, "My Name");
subject.addRDN(PKCSObjectIdentifiers.pkcs_9_at_emailAddress, "myname@mycompany.com");
cp.setSignatureAlgorithm("Md5WithRSAencryption");
cp.setKeyAlgorithm("RSA", 2048);
cp.setSubjectInfo(subject.build());
// Now actually create the certificate
CertificateBuilder cm = CertificateBuilderFactory.getInstance().createBuilder();
cm.setCertificateParameters(cp);
Certificate cert = cm.createSelfSignedCertificate();
// Just print out some information.
System.out.println(cert.toString());
System.out.println(cm.createCertificateRequest());
System.out.println(cm.getPublicKey());
System.out.println(cm.getPrivateKey());
CertificateParameter
,
PublicKey
,
PrivateKey
Modifier and Type | Method and Description |
---|---|
java.security.cert.Certificate |
createSelfSignedCertificate()
Create a self-signed certificate, and return it as a
Certificate object. |
void |
createSelfSignedCertificate(java.io.OutputStream out)
Create a self signed certificate, and write it to the supplied oututStream.
|
java.security.PrivateKey |
getPrivateKey()
Return the private key associated with the recently created certificate.
|
java.security.PublicKey |
getPublicKey()
Return the public key associated with the recently created certificate.
|
void |
reset()
Reset the internal state, ready to create a new certificate.
|
void |
setCertificateParameters(CertificateParameter cm)
Set the certificate parameters for this maker object.
|
void setCertificateParameters(CertificateParameter cm)
The certificate parameters determine the x.500 information that goes into the certificate
cm
- the Certifcate ParametersCertificateParameter
java.security.PrivateKey getPrivateKey()
java.security.PublicKey getPublicKey()
void reset()
It must be invoked if attempting to create more one certificate using the same object. It does not necessarily have to be called if this is the first time creating a certificate
void createSelfSignedCertificate(java.io.OutputStream out) throws AdaptrisSecurityException
The default implementation writes out the certificate as a DER encoded ASN.1 data structure
out
- the OutputStream to write toAdaptrisSecurityException
- if any error occursAdaptrisSecurityException
java.security.cert.Certificate createSelfSignedCertificate() throws AdaptrisSecurityException
Certificate
object.AdaptrisSecurityException
- if any error occursAdaptrisSecurityException