Skip to content

Commit 03e07c4

Browse files
committed
CLOUDSTACK-8215: Change Date calculation to Joda DateTime
1 parent b84c888 commit 03e07c4

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.bouncycastle.jce.provider.BouncyCastleProvider;
2626
import org.bouncycastle.x509.X509V1CertificateGenerator;
2727
import org.joda.time.DateTime;
28+
import org.joda.time.DateTimeZone;
2829
import org.opensaml.Configuration;
2930
import org.opensaml.common.SAMLVersion;
3031
import org.opensaml.common.xml.SAMLConstants;
@@ -89,8 +90,6 @@
8990
import java.security.spec.InvalidKeySpecException;
9091
import java.security.spec.PKCS8EncodedKeySpec;
9192
import java.security.spec.X509EncodedKeySpec;
92-
import java.util.Calendar;
93-
import java.util.Date;
9493
import java.util.zip.Deflater;
9594
import java.util.zip.DeflaterOutputStream;
9695

@@ -315,25 +314,16 @@ public static KeyPair generateRandomKeyPair() throws NoSuchProviderException, No
315314
}
316315

317316
public static X509Certificate generateRandomX509Certificate(KeyPair keyPair) throws NoSuchAlgorithmException, NoSuchProviderException, CertificateEncodingException, SignatureException, InvalidKeyException {
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-
317+
DateTime now = DateTime.now(DateTimeZone.UTC);
327318
X500Principal dnName = new X500Principal("CN=ApacheCloudStack");
328319
X509V1CertificateGenerator certGen = new X509V1CertificateGenerator();
329320
certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
330321
certGen.setSubjectDN(dnName);
331322
certGen.setIssuerDN(dnName);
332-
certGen.setNotBefore(validityBeginDate.getTime());
333-
certGen.setNotAfter(validityEndDate.getTime());
323+
certGen.setNotBefore(now.minusDays(1).toDate());
324+
certGen.setNotAfter(now.plusYears(3).toDate());
334325
certGen.setPublicKey(keyPair.getPublic());
335326
certGen.setSignatureAlgorithm("SHA256WithRSAEncryption");
336-
337327
return certGen.generate(keyPair.getPrivate(), "BC");
338328
}
339329

0 commit comments

Comments
 (0)