|
89 | 89 | import java.security.spec.InvalidKeySpecException; |
90 | 90 | import java.security.spec.PKCS8EncodedKeySpec; |
91 | 91 | import java.security.spec.X509EncodedKeySpec; |
| 92 | +import java.util.Calendar; |
92 | 93 | import java.util.Date; |
93 | 94 | import java.util.zip.Deflater; |
94 | 95 | import java.util.zip.DeflaterOutputStream; |
@@ -314,15 +315,22 @@ public static KeyPair generateRandomKeyPair() throws NoSuchProviderException, No |
314 | 315 | } |
315 | 316 |
|
316 | 317 | public static X509Certificate generateRandomX509Certificate(KeyPair keyPair) throws NoSuchAlgorithmException, NoSuchProviderException, CertificateEncodingException, SignatureException, InvalidKeyException { |
317 | | - Date validityBeginDate = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000); |
318 | | - Date validityEndDate = new Date(System.currentTimeMillis() + 3 * 365 * 24 * 60 * 60 * 1000); |
| 318 | + Date referenceDate = new Date(); |
| 319 | + Calendar validityBeginDate = Calendar.getInstance(); |
| 320 | + validityBeginDate.setTime(referenceDate); |
| 321 | + validityBeginDate.add(Calendar.DAY_OF_YEAR, -1); |
| 322 | + |
| 323 | + Calendar validityEndDate = Calendar.getInstance(); |
| 324 | + validityEndDate.setTime(referenceDate); |
| 325 | + validityEndDate.add(Calendar.YEAR, 3); |
| 326 | + |
319 | 327 | X500Principal dnName = new X500Principal("CN=ApacheCloudStack"); |
320 | 328 | X509V1CertificateGenerator certGen = new X509V1CertificateGenerator(); |
321 | 329 | certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis())); |
322 | 330 | certGen.setSubjectDN(dnName); |
323 | 331 | certGen.setIssuerDN(dnName); |
324 | | - certGen.setNotBefore(validityBeginDate); |
325 | | - certGen.setNotAfter(validityEndDate); |
| 332 | + certGen.setNotBefore(validityBeginDate.getTime()); |
| 333 | + certGen.setNotAfter(validityEndDate.getTime()); |
326 | 334 | certGen.setPublicKey(keyPair.getPublic()); |
327 | 335 | certGen.setSignatureAlgorithm("SHA256WithRSAEncryption"); |
328 | 336 |
|
|
0 commit comments