[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertifi...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jul 9 23:08:12 EDT 2014


Author: scantor
Date: Wed Jul  9 23:08:12 2014
New Revision: 620

URL: http://svn.shibboleth.net/view/utilities?rev=620&view=rev
Log:
IDP-410: add option for cert algorithm

Modified:
    java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java

Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java?rev=620&r1=619&r2=620&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/SelfSignedCertificateGenerator.java Wed Jul  9 23:08:12 2014
@@ -87,7 +87,7 @@
      */
     public void setKeyType(@Nonnull @NotEmpty final String type) {
         args.keyType = Constraint.isNotNull(StringSupport.trimOrNull(type), "Key type cannot be null or empty");
-    }
+    }    
 
     /**
      * Set the size of the generated key. Defaults to 2048
@@ -111,6 +111,15 @@
         args.certificateLifetime = lifetime;
     }
 
+    /**
+     * Set the certificate algorithm that will be used. Defaults to SHA256withRSA.
+     * 
+     * @param alg certificate algorithm
+     */
+    public void setCertificateAlg(@Nonnull @NotEmpty final String alg) {
+        args.certAlg = Constraint.isNotNull(StringSupport.trimOrNull(alg), "Algorithm cannot be null or empty");
+    }    
+    
     /**
      * Set the hostname that will appear in the certificate's DN.
      * 
@@ -305,7 +314,7 @@
 
         certifcateGenerator.setSerialNumber(new BigInteger(160, new SecureRandom()));
 
-        certifcateGenerator.setSignatureAlgorithm("SHA256withRSA");
+        certifcateGenerator.setSignatureAlgorithm(args.certAlg);
 
         certifcateGenerator.addExtension(X509Extensions.SubjectAlternativeName, false,
                 GeneralNames.getInstance(new DERSequence(buildSubjectAltNames())));
@@ -411,6 +420,9 @@
         /** Certificate lifetime. */
         @Nonnull @NotEmpty public static final String CERT_LIFETIME = "--lifetime";
 
+        /** Certificate algorithm. */
+        @Nonnull @NotEmpty public static final String CERT_ALG = "--certAlg";
+
         /** Hostname for cert subject. */
         @Nonnull @NotEmpty public static final String HOSTNAME = "--hostname";
         
@@ -451,6 +463,10 @@
         @Parameter(names = CERT_LIFETIME, description = "Certificate lifetime in years (default: 20)")
         @Positive private int certificateLifetime = 20;
 
+        /** Certificate algorithm. */
+        @Parameter(names = CERT_ALG, description = "Certificate algorithm (default: SHA256withRSA)")
+        @Nonnull @NotEmpty private String certAlg = "SHA256withRSA";
+
         /** Hostname. */
         @Parameter(names = HOSTNAME, required = true, description = "Hostname for certificate subject")
         @Nonnull @NotEmpty private String hostname;



More information about the commits mailing list