@@ -28,26 +28,63 @@ A basic example of createing a certificate using the VCert java implementation.
2828 .build();
2929
3030 final VCertClient client = new VCertClient(config);
31- final ZoneConfiguration zoneConfiguration = client.readZoneConfiguration("Public");
3231 final Authentication auth = Authentication.builder()
3332 .apiKey("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
3433 .build();
3534
36- CertificateRequest certificateRequest = new CertificateRequest().subject(
37- new CertificateRequest.PKIXName()
38- .commonName("cert.example.com")
39- .organization(Collections.singletonList("Venafi, Inc."))
40- .organizationalUnit(Arrays.asList("Engineering"))
41- .country(Collections.singletonList("US"))
42- .locality(Collections.singletonList("SLC"))
43- .province(Collections.singletonList("Utah")))
35+ client.authenticate(auth);
36+ final ZoneConfiguration zoneConfiguration = client.readZoneConfiguration("Public");
4437
45- .keyType(KeyType.RSA);
4638
4739
48- client.authenticate(auth);
49- certificateRequest = client.generateRequest(zoneConfiguration, certificateRequest);
50- String newCertId = client.requestCertificate(certificateRequest, "Public");
40+ // Generate a certificate
41+ CertificateRequest certificateRequest = new CertificateRequest().subject(
42+ new CertificateRequest.PKIXName()
43+ .commonName("opencredo.test")
44+ .organization(Collections.singletonList("Venafi, Inc."))
45+ .organizationalUnit(Arrays.asList("Engineering"))
46+ .country(Collections.singletonList("US"))
47+ .locality(Collections.singletonList("SLC"))
48+ .province(Collections.singletonList("Utah")))
49+
50+ .keyType(KeyType.RSA);
51+ certificateRequest = client.generateRequest(zoneConfiguration, certificateRequest);
52+
53+
54+ // Submit the certificate request
55+ String newCertId = client.requestCertificate(certificateRequest, "Default");
56+
57+
58+ // Retrieve PEM collection from Venafi
59+ final CertificateRequest pickupRequest = new CertificateRequest().pickupId(newCertId);
60+ PEMCollection pemCollection = client.retrieveCertificate(pickupRequest);
61+ System.out.println(pemCollection.certificate());
62+
63+ // Renew the certificate
64+ X509Certificate cert = (X509Certificate) pemCollection.certificate();
65+ String thumbprint = DigestUtils.sha1Hex(cert.getEncoded()).toUpperCase();
66+ final CertificateRequest certificateRequestToRenew = new CertificateRequest().subject(
67+ new CertificateRequest.PKIXName()
68+ .commonName("opencredo.test")
69+ .organization(Collections.singletonList("Venafi, Inc."))
70+ .organizationalUnit(Arrays.asList("Engineering"))
71+ .country(Collections.singletonList("US"))
72+ .locality(Collections.singletonList("SLC"))
73+ .province(Collections.singletonList("Utah")));
74+
75+ client.generateRequest(zoneConfiguration, certificateRequestToRenew);
76+
77+ final RenewalRequest renewalRequest = new RenewalRequest()
78+ .thumbprint(thumbprint)
79+ .request(certificateRequestToRenew);
80+ final String renewedCertificate = client.renewCertificate(renewalRequest);
81+
82+ // Retrieve PEM collection from Venafi
83+ final CertificateRequest renewPickupRequest = new CertificateRequest().pickupId(renewedCertificate);
84+ PEMCollection pemCollectionRenewed = client.retrieveCertificate(pickupRequest);
85+ System.out.println(pemCollectionRenewed.certificate());
86+
87+
5188```
5289
5390## Prerequisites for using with Trust Protection Platform
0 commit comments