[utilities COMMIT] in /java-support/trunk: pom.xml src/main/java/net/shibboleth/utilities/java/support/security/DataS...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Sep 5 16:12:28 EDT 2013
Author: scantor
Date: Thu Sep 5 16:12:28 2013
New Revision: 442
URL: http://svn.shibboleth.net/view/utilities?rev=442&view=rev
Log:
Rebase DataSealer on AES-GCM using BC-native API.
Modified:
java-support/trunk/pom.xml
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java
java-support/trunk/src/test/java/net/shibboleth/utilities/java/support/security/DataSealerTest.java
Modified: java-support/trunk/pom.xml
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/pom.xml?rev=442&r1=441&r2=442&view=diff
==============================================================================
--- java-support/trunk/pom.xml (original)
+++ java-support/trunk/pom.xml Thu Sep 5 16:12:28 2013
@@ -70,6 +70,12 @@
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcprov-jdk15</artifactId>
+ <optional>true</optional>
+ </dependency>
+
<!-- Provided Dependencies -->
<dependency>
<groupId>ch.qos.logback</groupId>
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java?rev=442&r1=441&r2=442&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/security/DataSealer.java Thu Sep 5 16:12:28 2013
@@ -23,30 +23,34 @@
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.security.Key;
import java.security.KeyException;
import java.security.KeyStore;
import java.security.SecureRandom;
-import java.util.Arrays;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import javax.annotation.Nonnull;
-import javax.crypto.Cipher;
-import javax.crypto.Mac;
import javax.crypto.SecretKey;
-import javax.crypto.spec.IvParameterSpec;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.codec.Base64Support;
import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import org.bouncycastle.crypto.InvalidCipherTextException;
+import org.bouncycastle.crypto.engines.AESEngine;
+import org.bouncycastle.crypto.modes.GCMBlockCipher;
+import org.bouncycastle.crypto.params.AEADParameters;
+import org.bouncycastle.crypto.params.KeyParameter;
+import org.bouncycastle.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -83,23 +87,9 @@
/** Password for encryption key(s). */
@NonnullAfterInit private String cipherKeyPassword;
- /** Encryption algorithm to use. */
- @Nonnull @NotEmpty private String cipherAlgorithm;
-
- /** Keystore alias for the MAC key. */
- @NonnullAfterInit private String macKeyAlias;
-
- /** Password for MAC key. */
- @NonnullAfterInit private String macKeyPassword;
-
- /** MAC algorithm to use. */
- @Nonnull @NotEmpty private String macAlgorithm;
-
/** Constructor. */
public DataSealer() {
keystoreType = "JCEKS";
- cipherAlgorithm = "AES/CBC/PKCS5Padding";
- macAlgorithm = "HmacSHA256";
}
/** {@inheritDoc} */
@@ -115,19 +105,11 @@
throw new ComponentInitializationException(e);
}
- if (macKeyAlias == null) {
- macKeyAlias = cipherKeyAlias;
- }
-
- if (macKeyPassword == null) {
- macKeyPassword = cipherKeyPassword;
- }
-
if (random == null) {
random = new SecureRandom();
}
- loadKeys();
+ cipherKey = loadKey(cipherKeyAlias);
// Before we finish initialization, make sure that things are working.
testEncryption();
@@ -214,47 +196,13 @@
}
/**
- * Returns the encryption algorithm.
- *
- * @return the encryption algorithm
- */
- @Nonnull @NotEmpty public String getCipherAlgorithm() {
- return cipherAlgorithm;
- }
-
- /**
- * Returns the MAC key alias.
- *
- * @return the MAC key alias
- */
[... 709 lines stripped ...]
More information about the commits
mailing list