diff options
author | Ade Lee <alee@redhat.com> | 2014-01-30 10:30:49 -0500 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2014-02-04 13:37:31 -0500 |
commit | d33998c72a34dc9f04e29ce0248fc2b7b88e0fc5 (patch) | |
tree | 2e162b63d487cf1f43102325cc466a9a2b7bbc32 /base/kra/src | |
parent | 3e48a7560406e0f4430bc620e35762bdd00099c0 (diff) | |
download | pki-d33998c72a34dc9f04e29ce0248fc2b7b88e0fc5.tar.gz pki-d33998c72a34dc9f04e29ce0248fc2b7b88e0fc5.tar.xz pki-d33998c72a34dc9f04e29ce0248fc2b7b88e0fc5.zip |
Rename KeyRequest to ResourceMessage
Refactor ResourceMessage to include classname instead of Request Type.
Also changed PKIException.Data to extend ResourceMessage.
Modifications to the server code to get the tests working.
Diffstat (limited to 'base/kra/src')
-rw-r--r-- | base/kra/src/com/netscape/kra/KRAService.java | 2 | ||||
-rw-r--r-- | base/kra/src/com/netscape/kra/SymKeyGenService.java | 14 |
2 files changed, 12 insertions, 4 deletions
diff --git a/base/kra/src/com/netscape/kra/KRAService.java b/base/kra/src/com/netscape/kra/KRAService.java index 216f2ff6a..f4768bd00 100644 --- a/base/kra/src/com/netscape/kra/KRAService.java +++ b/base/kra/src/com/netscape/kra/KRAService.java @@ -49,6 +49,7 @@ public class KRAService implements IService { public final static String NETKEY_KEYRECOVERY = IRequest.NETKEY_KEYRECOVERY_REQUEST; public final static String SECURITY_DATA_ENROLLMENT = IRequest.SECURITY_DATA_ENROLLMENT_REQUEST; public final static String SECURITY_DATA_RECOVERY = IRequest.SECURITY_DATA_RECOVERY_REQUEST; + public final static String SYMKEY_GENERATION = IRequest.SYMKEY_GENERATION_REQUEST; // private variables @@ -66,6 +67,7 @@ public class KRAService implements IService { mServices.put(NETKEY_KEYRECOVERY, new TokenKeyRecoveryService(kra)); mServices.put(SECURITY_DATA_ENROLLMENT, new SecurityDataService(kra)); mServices.put(SECURITY_DATA_RECOVERY, new SecurityDataRecoveryService(kra)); + mServices.put(SYMKEY_GENERATION, new SymKeyGenService(kra)); } /** diff --git a/base/kra/src/com/netscape/kra/SymKeyGenService.java b/base/kra/src/com/netscape/kra/SymKeyGenService.java index 311725b8c..877d2ed06 100644 --- a/base/kra/src/com/netscape/kra/SymKeyGenService.java +++ b/base/kra/src/com/netscape/kra/SymKeyGenService.java @@ -19,6 +19,7 @@ package com.netscape.kra; import java.io.CharConversionException; import java.math.BigInteger; +import java.security.InvalidAlgorithmParameterException; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Arrays; @@ -35,6 +36,7 @@ import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.SessionContext; import com.netscape.certsrv.dbs.keydb.IKeyRecord; import com.netscape.certsrv.dbs.keydb.IKeyRepository; +import com.netscape.certsrv.key.KeyRequestResource; import com.netscape.certsrv.key.SymKeyGenerationRequest; import com.netscape.certsrv.kra.IKeyRecoveryAuthority; import com.netscape.certsrv.logging.ILogger; @@ -153,16 +155,20 @@ public class SymKeyGenService implements IService { KeyGenerator kg = token.getKeyGenerator(kgAlg); kg.setKeyUsages(keyUsages); kg.temporaryKeys(true); + if (kgAlg == KeyGenAlgorithm.AES || kgAlg == KeyGenAlgorithm.RC4 + || kgAlg == KeyGenAlgorithm.RC2) { + kg.initialize(keySize); + } sk = kg.generate(); CMS.debug("SymKeyGenService:wrap() session key generated on slot: " + token.getName()); - } catch (TokenException | IllegalStateException | CharConversionException | NoSuchAlgorithmException e) { + } catch (TokenException | IllegalStateException | CharConversionException | NoSuchAlgorithmException + | InvalidAlgorithmParameterException e) { + CMS.debugStackTrace(); auditSymKeyGenRequestProcessed(subjectID, ILogger.FAILURE, request.getRequestId(), clientId, null, "Failed to generate symmetric key"); throw new EBaseException("Errors in generating symmetric key: " + e); } - String keyType = null; - byte[] publicKey = null; byte privateSecurityData[] = null; @@ -200,7 +206,7 @@ public class SymKeyGenService implements IService { } rec.set(KeyRecord.ATTR_ID, serialNo); - rec.set(KeyRecord.ATTR_DATA_TYPE, keyType); + rec.set(KeyRecord.ATTR_DATA_TYPE, KeyRequestResource.SYMMETRIC_KEY_TYPE); rec.set(KeyRecord.ATTR_STATUS, STATUS_ACTIVE); request.setExtData(ATTR_KEY_RECORD, serialNo); |