Skip to content
This repository was archived by the owner on Jan 15, 2020. It is now read-only.

Commit fdf4bd2

Browse files
eriwebyadvr
authored andcommitted
SAML changing date calculation
Signed-off-by: Erik Weber <terbolous@gmail.com> (cherry picked from commit b84c888) Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
1 parent fae4fda commit fdf4bd2

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
import java.security.spec.InvalidKeySpecException;
9090
import java.security.spec.PKCS8EncodedKeySpec;
9191
import java.security.spec.X509EncodedKeySpec;
92+
import java.util.Calendar;
9293
import java.util.Date;
9394
import java.util.zip.Deflater;
9495
import java.util.zip.DeflaterOutputStream;
@@ -314,15 +315,22 @@ public static KeyPair generateRandomKeyPair() throws NoSuchProviderException, No
314315
}
315316

316317
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+
319327
X500Principal dnName = new X500Principal("CN=ApacheCloudStack");
320328
X509V1CertificateGenerator certGen = new X509V1CertificateGenerator();
321329
certGen.setSerialNumber(BigInteger.valueOf(System.currentTimeMillis()));
322330
certGen.setSubjectDN(dnName);
323331
certGen.setIssuerDN(dnName);
324-
certGen.setNotBefore(validityBeginDate);
325-
certGen.setNotAfter(validityEndDate);
332+
certGen.setNotBefore(validityBeginDate.getTime());
333+
certGen.setNotAfter(validityEndDate.getTime());
326334
certGen.setPublicKey(keyPair.getPublic());
327335
certGen.setSignatureAlgorithm("SHA256WithRSAEncryption");
328336

0 commit comments

Comments
 (0)