summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gathman <jonathan.gathman@att.com>2018-04-05 22:54:25 +0000
committerGerrit Code Review <gerrit@onap.org>2018-04-05 22:54:25 +0000
commit47e19c7b188b70dc22b14bb1883c2401cb3c3126 (patch)
treeca784092125fd6080e72d2f7e77d19ec8de95f37
parent6611834c15886ba06b13cec15fc87ca732f07e06 (diff)
parentcf77c7b244f0b64990dfb46a205ea97d5c1f9f40 (diff)
Merge "Add pkcs11 provider for given config"
-rw-r--r--cadi/aaf/src/main/java/org/onap/aaf/cadi/cm/Factory.java40
1 files changed, 19 insertions, 21 deletions
diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/cm/Factory.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/cm/Factory.java
index e969fab3..b7c085b0 100644
--- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/cm/Factory.java
+++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/cm/Factory.java
@@ -60,6 +60,8 @@ import java.security.spec.X509EncodedKeySpec;
import java.util.Collection;
import java.util.List;
+import sun.security.pkcs11.SunPKCS11;
+
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
@@ -458,28 +460,24 @@ public class Factory {
* @throws CertException
*/
public static synchronized Provider getSecurityProvider(String providerType, String[][] params) throws CertException {
- Provider p = Security.getProvider(providerType);
- if(p!=null) {
- switch(providerType) {
- case "PKCS12":
-
- break;
- case "PKCS11": // PKCS11 only known to be supported by Sun
- try {
- Class<?> clsSunPKCS11 = Class.forName("sun.security.pkcs11.SunPKCS11");
- Constructor<?> cnst = clsSunPKCS11.getConstructor(String.class);
- Object sunPKCS11 = cnst.newInstance(params[0][0]);
- if (sunPKCS11==null) {
- throw new CertException("SunPKCS11 Provider cannot be constructed for " + params[0][0]);
- }
- Security.addProvider((Provider)sunPKCS11);
- } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- throw new CertException(e);
+ Provider p = null;
+ switch(providerType) {
+ case "PKCS12":
+ p = Security.getProvider(providerType);
+ break;
+ case "PKCS11": // PKCS11 only known to be supported by Sun
+ try {
+ p = new SunPKCS11(params[0][0]);
+ if (p==null) {
+ throw new CertException("SunPKCS11 Provider cannot be constructed for " + params[0][0]);
}
- break;
- default:
- throw new CertException(providerType + " is not a known Security Provider for your JDK.");
- }
+ Security.addProvider(p);
+ } catch (SecurityException | IllegalArgumentException e) {
+ throw new CertException(e);
+ }
+ break;
+ default:
+ throw new CertException(providerType + " is not a known Security Provider for your JDK.");
}
return p;
}