[java-opensaml COMMIT] in /trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support: DataEncryp...

noreply at shibboleth.net noreply at shibboleth.net
Wed Apr 2 15:39:16 EDT 2014


Author: putmanb
Date: Wed Apr  2 15:39:16 2014
New Revision: 3759

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3759&view=rev
Log:
Add convenience constructors for copying data from EncryptionParameters instance.

Modified:
    trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java
    trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java

Modified: trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java?rev=3759&r1=3758&r2=3759&view=diff
==============================================================================
--- trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java (original)
+++ trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/DataEncryptionParameters.java Wed Apr  2 15:39:16 2014
@@ -17,9 +17,13 @@
 
 package org.opensaml.xmlsec.encryption.support;
 
+import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
 import org.opensaml.security.credential.Credential;
+import org.opensaml.xmlsec.EncryptionParameters;
 import org.opensaml.xmlsec.keyinfo.KeyInfoGenerator;
 
 /**
@@ -43,6 +47,20 @@
     public DataEncryptionParameters() {
         // This will be the default for auto encryption key generation
         setAlgorithm(EncryptionConstants.ALGO_ID_BLOCKCIPHER_AES256);
+    }
+
+    /**
+     * Convenience constructor which allows copying the relevant data encryption parameters from
+     * an instance of {@link EncryptionParameters}.
+     * 
+     * @param params the encryption parameters instance
+     */
+    public DataEncryptionParameters(@Nonnull final EncryptionParameters params) {
+        this();
+        Constraint.isNotNull(params, "EncryptionParameters instance was null");
+        setEncryptionCredential(params.getDataEncryptionCredential());
+        setAlgorithm(params.getDataEncryptionAlgorithmURI());
+        setKeyInfoGenerator(params.getDataKeyInfoGenerator());
     }
 
     /**

Modified: trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java?rev=3759&r1=3758&r2=3759&view=diff
==============================================================================
--- trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java (original)
+++ trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/encryption/support/KeyEncryptionParameters.java Wed Apr  2 15:39:16 2014
@@ -19,6 +19,10 @@
 
 import javax.annotation.Nullable;
 
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
+import org.opensaml.xmlsec.EncryptionParameters;
+
 
 /**
  * Parameters for encrypting keys.
@@ -37,6 +41,22 @@
         // can't autogenerate a key encryption key, always needs to be derived
         // from the key in the (for KEK, mandatory) encryption credential.
         setAlgorithm(null);
+    }
+    
+    /**
+     * Convenience constructor which allows copying the relevant key encryption parameters from
+     * an instance of {@link EncryptionParameters}.
+     * 
+     * @param params the encryption parameters instance
+     * @param recipientId the recipient of the key
+     */
+    public KeyEncryptionParameters(EncryptionParameters params, String recipientId) {
+        this();
+        Constraint.isNotNull(params, "EncryptionParameters instance was null");
+        setEncryptionCredential(params.getKeyTransportEncryptionCredential());
+        setAlgorithm(params.getKeyTransportEncryptionAlgorithmURI());
+        setKeyInfoGenerator(params.getKeyTransportKeyInfoGenerator());
+        setRecipient(recipientId);
     }
 
     /**



More information about the commits mailing list