diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a57db63 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/pki-core-10.5.17.tar.gz diff --git a/.pki-core.metadata b/.pki-core.metadata new file mode 100644 index 0000000..306bc26 --- /dev/null +++ b/.pki-core.metadata @@ -0,0 +1 @@ +2debe6d869c88d4cd98de0cce80dfe8317d35dbc SOURCES/pki-core-10.5.17.tar.gz diff --git a/SOURCES/pki-core-rhel-7-8-rhcs-9-6-alpha.patch b/SOURCES/pki-core-rhel-7-8-rhcs-9-6-alpha.patch new file mode 100644 index 0000000..25f39d5 --- /dev/null +++ b/SOURCES/pki-core-rhel-7-8-rhcs-9-6-alpha.patch @@ -0,0 +1,734 @@ +From fb857eac7f74c91fda65dd9d676b28b6df2eaa78 Mon Sep 17 00:00:00 2001 +From: "Endi S. Dewata" +Date: Thu, 3 Jan 2019 20:08:36 -0600 +Subject: [PATCH 1/7] Removed validation for token state transitions + +The TPSSubsystem has been modified to remove the validation for +tokendb.allowedTransitions property. This will allow adding new +transitions via PKI CLI or TPS Web UI. + +The TPSSubsystem will continue to validate tps.operations.allowedTransitions +as before so it will only allow transitions already defined in +the default CS.cfg. + +https://bugzilla.redhat.com/show_bug.cgi?id=1470433 +(cherry picked from commit e9079332d66f166cd89673e2160fd52dbb48728c) +--- + .../src/org/dogtagpki/server/tps/TPSSubsystem.java | 4 +- + docs/admin/TPS_Token_Lifecycle.md | 139 +++++++++++++++++++++ + 2 files changed, 141 insertions(+), 2 deletions(-) + create mode 100644 docs/admin/TPS_Token_Lifecycle.md + +diff --git a/base/tps/src/org/dogtagpki/server/tps/TPSSubsystem.java b/base/tps/src/org/dogtagpki/server/tps/TPSSubsystem.java +index 2f43ba3..0e8f318 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/TPSSubsystem.java ++++ b/base/tps/src/org/dogtagpki/server/tps/TPSSubsystem.java +@@ -126,8 +126,8 @@ public class TPSSubsystem implements IAuthority, ISubsystem { + + FileConfigStore defaultConfig = new FileConfigStore("/usr/share/pki/tps/conf/CS.cfg"); + +- uiTransitions = loadAndValidateTokenStateTransitions( +- defaultConfig, cs, TPSEngine.CFG_TOKENDB_ALLOWED_TRANSITIONS); ++ uiTransitions = loadTokenStateTransitions( ++ cs, TPSEngine.CFG_TOKENDB_ALLOWED_TRANSITIONS); + + operationTransitions = loadAndValidateTokenStateTransitions( + defaultConfig, cs, TPSEngine.CFG_OPERATIONS_ALLOWED_TRANSITIONS); +diff --git a/docs/admin/TPS_Token_Lifecycle.md b/docs/admin/TPS_Token_Lifecycle.md +new file mode 100644 +index 0000000..194a95f +--- /dev/null ++++ b/docs/admin/TPS_Token_Lifecycle.md +@@ -0,0 +1,139 @@ ++# TPS Token Lifecycle ++ ++## Token States ++ ++Below are the supported token states in TPS: ++ ++| Code | Name | Label | ++| ---- | ----------- | ---------------------------- | ++| 0 | FORMATTED | Formatted (uninitialized) | ++| 1 | DAMAGED | Physically damaged | ++| 2 | PERM_LOST | Permanently lost | ++| 3 | SUSPENDED | Suspended (temporarily lost) | ++| 4 | ACTIVE | Active | ++| 6 | TERMINATED | Terminated | ++| 7 | UNFORMATTED | Unformatted | ++ ++In the CS.cfg the token states will be displayed by their codes. ++In PKI CLI the token states will be displayed by their names. ++In TPS Web UI the token states will be displayed by their labels. ++ ++## Token State Transitions via PKI CLI or TPS Web UI ++ ++Token state can be changed via PKI CLI or TPS Web UI. ++The transitions that can be done via PKI CLI or TPS Web UI are defined in the following property in ++/etc/pki/<instance>/tps/CS.cfg: ++ ++``` ++tokendb.allowedTransitions=0:1,0:2,0:3,0:6,3:2,3:6,4:1,4:2,4:3,4:6,6:7 ++``` ++ ++The property contains a comma-separated list of transitions. Each transition is written in this format: ++ ++ : ++ ++The above list represents the following transitions: ++ ++| Transition | Current State | Next State | Label | ++| ---------- | ------------- | ----------- | -------------------------------------------------------------- | ++| 0:1 | FORMATTED | DAMAGED | This token has been physically damaged. | ++| 0:2 | FORMATTED | PERM_LOST | This token has been permanently lost. | ++| 0:3 | FORMATTED | SUSPENDED | This token has been suspended (temporarily lost). | ++| 0:6 | FORMATTED | TERMINATED | This token has been terminated. | ++| 3:2 | SUSPENDED | TERMINATED | This suspended (temporarily lost) token has been terminated. | ++| 3:6 | SUSPENDED | PERM_LOST | This suspended (temporarily lost) has become permanently lost. | ++| 4:1 | ACTIVE | DAMAGED | This token has been physically damaged. | ++| 4:2 | ACTIVE | PERM_LOST | This token has been permanently lost. | ++| 4:3 | ACTIVE | SUSPENDED | This token has been suspended (temporarily lost). | ++| 4:6 | ACTIVE | TERMINATED | This token has been terminated. | ++| 6:7 | TERMINATED | UNFORMATTED | Reuse this token. | ++ ++The following transitions are generated automatically depending on the original state of the token. ++If a token was originally FORMATTED then became SUSPENDED, it can only return to FORMATTED state. ++If a token was originally ACTIVE then became SUSPENDED, it can only return to the ACTIVE state. ++ ++| Transition | Current State | Next State | Label | ++| ---------- | ------------- | ---------- | ------------------------------------------------------- | ++| 3:2 | SUSPENDED | FORMATTED | This suspended (temporarily lost) token has been found. | ++| 3:4 | SUSPENDED | ACTIVE | This suspended (temporarily lost) token has been found. | ++ ++To customize the tokendb.allowedTransitions property, edit the property in /etc/pki/<instance>/tps/CS.cfg, ++then restart the server. ++ ++## Token State Transitions via Token Operations ++ ++Token states can also be changed via token operations (e.g. format, enroll). ++The transitions that can be done via token operations are defined in the following property in ++/etc/pki/<instance>/tps/CS.cfg: ++ ++``` ++tps.operations.allowedTransitions=0:0,0:4,4:4,4:0,7:0 ++``` ++ ++The property contains a comma-delimited list of transitions. ++Each transition is written in this format: ++ ++ : ++ ++The above list represents the following transitions: ++ ++| Transition | Current State | Next State | Description | ++| ---------- | ------------- | ---------- | --------------------------------------------------------------------- | ++| 0:0 | FORMATTED | FORMATTED | This allows reformatting a token or upgrading applet/key in a token. | ++| 0:4 | FORMATTED | ACTIVE | This allows enrolling a token. | ++| 4:4 | ACTIVE | ACTIVE | This allows re-enrolling an active token (for external registration). | ++| 4:0 | ACTIVE | FORMATTED | This allows formatting an active token. | ++| 7:0 | UNFORMATTED | FORMATTED | This allows formatting a blank or previously used token. | ++ ++To customize the tps.operations.allowedTransitions property, edit the property in /etc/pki/<instance>/tps/CS.cfg, ++then restart the server. ++ ++This property can only be customized to remove transitions from the original list. ++New transitions cannot be added into tps.operations.allowedTransitions unless it is already defined ++in the default tps.operations.allowedTransitions in /usr/share/pki/tps/conf/CS.cfg. ++ ++## Token State and Transition Labels for TPS Web UI ++ ++The default token state and transition labels for TPS Web UI are defined in /usr/share/pki/tps/conf/token-states.properties: ++ ++``` ++# Token states ++UNFORMATTED = Unformatted ++FORMATTED = Formatted (uninitialized) ++ACTIVE = Active ++SUSPENDED = Suspended (temporarily lost) ++PERM_LOST = Permanently lost ++DAMAGED = Physically damaged ++TEMP_LOST_PERM_LOST = Temporarily lost then permanently lost ++TERMINATED = Terminated ++ ++# Token state transitions ++FORMATTED.DAMAGED = This token has been physically damaged. ++FORMATTED.PERM_LOST = This token has been permanently lost. ++FORMATTED.SUSPENDED = This token has been suspended (temporarily lost). ++FORMATTED.TERMINATED = This token has been terminated. ++SUSPENDED.ACTIVE = This suspended (temporarily lost) token has been found. ++SUSPENDED.PERM_LOST = This suspended (temporarily lost) token has become permanently lost. ++SUSPENDED.TERMINATED = This suspended (temporarily lost) token has been terminated. ++SUSPENDED.FORMATTED = This suspended (temporarily lost) token has been found. ++ACTIVE.DAMAGED = This token has been physically damaged. ++ACTIVE.PERM_LOST = This token has been permanently lost. ++ACTIVE.SUSPENDED = This token has been suspended (temporarily lost). ++ACTIVE.TERMINATED = This token has been terminated. ++TERMINATED.UNFORMATTED = Reuse this token. ++``` ++ ++To customize the labels, copy the default token-states.properties into TPS configuration folder: ++ ++``` ++$ cp /usr/share/pki/tps/conf/token-states.properties /var/lib/pki/pki-tomcat/tps/conf ++``` ++Then edit the new file. ++There is no need to restart the server, but the TPS Web UI will need to be reloaded. ++ ++To remove the customized labels simply delete the customized file: ++ ++``` ++$ rm /var/lib/pki/pki-tomcat/tps/conf/token-states.properties ++``` ++Then reload the TPS Web UI. +-- +1.8.3.1 + + +From 80c61529b041dca01116726535de87f18a5d16cd Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Thu, 15 Aug 2019 12:23:57 -0400 +Subject: [PATCH 2/7] Resolve (additional patch for) Bug 1470410 - TPS doesn't + update revocation status when certificate already marked as + unformatted/terminated/damaged + +This is one of the previously missed patches. +Submited by RHCS-maint + +(cherry picked from commit e4b9e6ed3cf03bd8c026d2d944b615f9b306219a) +--- + base/ca/src/com/netscape/ca/CAService.java | 8 +++++--- + .../src/org/dogtagpki/server/tps/cms/CARemoteRequestHandler.java | 3 ++- + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/base/ca/src/com/netscape/ca/CAService.java b/base/ca/src/com/netscape/ca/CAService.java +index e4e4efe..4e8afac 100644 +--- a/base/ca/src/com/netscape/ca/CAService.java ++++ b/base/ca/src/com/netscape/ca/CAService.java +@@ -981,7 +981,7 @@ public class CAService implements ICAService, IService { + CRLExtensions crlentryexts = crlentry.getExtensions(); + String msg = ""; + +- CMS.debug("CAService.revokeCert: revokeCert begins"); ++ CMS.debug("CAService.revokeCert: revokeCert begins: serial:" + serialno.toString()); + + // Get the revocation reason + Enumeration enum1 = crlentryexts.getElements(); +@@ -1000,6 +1000,7 @@ public class CAService implements ICAService, IService { + CMS.getUserMessage("CMS_CA_MISSING_REV_REASON", + "0x" + serialno.toString(16))); + } ++ CMS.debug("CAService.revokeCert: revocaton request revocation reason: " + revReason.toString()); + + CertRecord certRec = (CertRecord) mCA.getCertificateRepository().readCertificateRecord(serialno); + +@@ -1026,6 +1027,7 @@ public class CAService implements ICAService, IService { + CMS.debug("CAService.revokeCert: " + msg); + throw new EBaseException(msg); + } ++ CMS.debug("CAService.revokeCert: already revoked cert with existing revocation reason:" + recRevReason.toString()); + } + + // for cert already revoked, also check whether revocation reason is changed from SUPERSEDED to KEY_COMPROMISE +@@ -1044,11 +1046,11 @@ public class CAService implements ICAService, IService { + try { + // if cert has already revoked, update the revocation info only + CMS.debug("CAService.revokeCert: about to call markAsRevoked"); +- if (certStatus.equals(ICertRecord.STATUS_REVOKED) && certRec.isCertOnHold()) { ++ if (certStatus.equals(ICertRecord.STATUS_REVOKED)) { + mCA.getCertificateRepository().markAsRevoked(serialno, + new RevocationInfo(revdate, crlentryexts), + true /*isAlreadyRevoked*/); +- CMS.debug("CAService.revokeCert: on_hold cert marked revoked"); ++ CMS.debug("CAService.revokeCert: Already-revoked cert marked revoked"); + mCA.log(ILogger.LL_INFO, + CMS.getLogMessage("CMSCORE_CA_CERT_REVO_INFO_UPDATE", + recRevReason.toString(), +diff --git a/base/tps/src/org/dogtagpki/server/tps/cms/CARemoteRequestHandler.java b/base/tps/src/org/dogtagpki/server/tps/cms/CARemoteRequestHandler.java +index 39529c9..16ae5fd 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/cms/CARemoteRequestHandler.java ++++ b/base/tps/src/org/dogtagpki/server/tps/cms/CARemoteRequestHandler.java +@@ -540,10 +540,11 @@ public class CARemoteRequestHandler extends RemoteRequestHandler + } else { + CMS.debug("CARemoteRequestHandler: revokeCertificate(): using default ca ID:" + connid); + } +- CMS.debug("CARemoteRequestHandler: revokeCertificate(): begins on serial#:" + serialno); ++ CMS.debug("CARemoteRequestHandler: revokeCertificate(): begins"); + if (serialno == null || reason == null) { + throw new EBaseException("CARemoteRequestHandler: revokeCertificate(): input parameter null."); + } ++ CMS.debug("CARemoteRequestHandler: revokeCertificate(): revoking serial#:" + serialno + "; reason String:" + reason.toString() + "; reason code:" + reason.getCode()); + + // IConfigStore conf = CMS.getConfigStore(); + +-- +1.8.3.1 + + +From aef8f648e4651f29cec0ba7e8235185d94e8f39b Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Thu, 15 Aug 2019 18:21:33 -0400 +Subject: [PATCH 3/7] Resolve (additiona patch for) Bug 1470433 - Add supported + transitions to TPS + +per suggestion in comment#4 + +Submited by RHCS-maint. + +(cherry picked from commit f9c10c352fc2129cd9f2cdf6baade6e445de5bd0) +--- + base/tps/shared/conf/CS.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/tps/shared/conf/CS.cfg b/base/tps/shared/conf/CS.cfg +index 8a9d828..eb5b831 100644 +--- a/base/tps/shared/conf/CS.cfg ++++ b/base/tps/shared/conf/CS.cfg +@@ -2448,7 +2448,7 @@ tokendb.addConfigTemplate=addConfig.template + tokendb.addResultTemplate=addResults.template + tokendb.agentSelectConfigTemplate=agentSelectConfig.template + tokendb.agentViewConfigTemplate=agentViewConfig.template +-tokendb.allowedTransitions=0:1,0:2,0:3,0:6,3:2,3:6,4:1,4:2,4:3,4:6,6:7 ++tokendb.allowedTransitions=0:1,0:2,0:3,0:6,3:2,3:6,4:1,4:2,4:3,4:6,6:7,1:2,7:1,7:2,6:1,6:2,3:1,3:4 + tokendb.auditAdminTemplate=auditAdmin.template + tokendb.auditLog=[PKI_INSTANCE_PATH]/logs/tokendb-audit.log + tokendb.baseDN=ou=Tokens,[TOKENDB_ROOT] +-- +1.8.3.1 + + +From a336e4d5a27f4de9d39b4e8131e0da5889ad8dd4 Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Mon, 19 Aug 2019 21:26:23 -0400 +Subject: [PATCH 4/7] =?UTF-8?q?Resolve=20Bug=201585722=20-=20TMS=20-=20PKI?= + =?UTF-8?q?SocketFactory=20=E2=80=93=20Modify=20Logging=20to=20Allow=20Ext?= + =?UTF-8?q?ernal=20Use=20of=20class=20to=20work=20like=20CS8?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Submited by RHCS-maint. + +(cherry picked from commit 67b3b4fa936aa60618c2084dbbc15e8f9a13a699) +--- + .../cmscore/ldapconn/PKISocketFactory.java | 59 +++++++++++++++++----- + 1 file changed, 45 insertions(+), 14 deletions(-) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java +index e9f28c9..00df65b 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java +@@ -23,6 +23,8 @@ import java.net.Socket; + import java.net.UnknownHostException; + import java.util.Iterator; + import java.util.Vector; ++import java.util.logging.Level; ++import java.util.logging.Logger; + + import org.mozilla.jss.ssl.SSLClientCertificateSelectionCallback; + import org.mozilla.jss.ssl.SSLHandshakeCompletedEvent; +@@ -48,6 +50,7 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + private String mClientAuthCertNickname; + private boolean mClientAuth; + private boolean keepAlive; ++ private static boolean external = false; + PKIClientSocketListener sockListener = null; + + public PKISocketFactory() { +@@ -65,22 +68,34 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + init(); + } + ++ public PKISocketFactory(String certNickname, boolean external) { ++ this.secure = true; ++ PKISocketFactory.external = external; ++ mClientAuthCertNickname = certNickname; ++ init(); ++ } ++ + public void init() { + try { +- IConfigStore cs = CMS.getConfigStore(); +- keepAlive = cs.getBoolean("tcp.keepAlive", true); +- CMS.debug("TCP Keep-Alive: " + keepAlive); ++ if(!external){ ++ IConfigStore cs = CMS.getConfigStore(); ++ keepAlive = cs.getBoolean("tcp.keepAlive", true); ++ } else { ++ keepAlive = true; ++ } ++ ++ log(Level.INFO, "TCP Keep-Alive: " + keepAlive, null); + sockListener = new PKIClientSocketListener(); + + } catch (Exception e) { +- CMS.debug(e); ++ log(Level.SEVERE, null, e); + throw new RuntimeException("Unable to read TCP configuration: " + e, e); + } + } + + public SSLSocket makeSSLSocket(String host, int port) throws UnknownHostException, IOException { + String method = "ldapconn/PKISocketFactory.makeSSLSocket: "; +- CMS.debug(method + "begins"); ++ log(Level.INFO, method + "begins", null); + + /* + * let inherit TLS range and cipher settings +@@ -115,8 +130,8 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + + if (mClientAuthCertNickname != null) { + mClientAuth = true; +- CMS.debug("LdapJssSSLSocket: set client auth cert nickname " + +- mClientAuthCertNickname); ++ log(Level.INFO, method + " set client auth cert nickname " + ++ mClientAuthCertNickname, null); + + //We have already established the manual cert selection callback + //Doing it this way will provide some debugging info on the candidate certs +@@ -127,6 +142,8 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + } + + public Socket makeSocket(String host, int port) throws LDAPException { ++ String method = "ldapconn/PKISocketFactory.makeSocket: "; ++ log(Level.INFO, method + "begins", null); + Socket s = null; + + try { +@@ -145,7 +162,7 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + try { + s.close(); + } catch (IOException e1) { +- CMS.debug(e1); ++ log(Level.SEVERE, null, e1); + } + } + throw new LDAPException("Unable to create socket: " + e); +@@ -165,6 +182,20 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + public void log(int level, String msg) { + } + ++ private static void log(Level level, String msg, Exception e) { ++ if(!external && e != null){ ++ CMS.debug(e); ++ } else if (!external) { ++ CMS.debug(msg); ++ } else { ++ if(e != null){ ++ Logger.getLogger("PKISocketFactory").log(level, e.getMessage()); ++ } else { ++ Logger.getLogger("PKISocketFactory").log(level, msg); ++ } ++ } ++ } ++ + static class ClientHandshakeCB implements SSLHandshakeCompletedListener { + Object sc; + +@@ -173,7 +204,7 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + } + + public void handshakeCompleted(SSLHandshakeCompletedEvent event) { +- CMS.debug("SSL handshake happened"); ++ log(Level.INFO, "SSL handshake happened", null); + } + } + +@@ -181,14 +212,14 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + String desiredCertName = null; + + public SSLClientCertificateSelectionCB(String clientAuthCertNickname) { +- CMS.debug("SSLClientCertificateSelectionCB: Setting desired cert nickname to: " + clientAuthCertNickname); ++ log(Level.INFO, "SSLClientCertificateSelectionCB: Setting desired cert nickname to: " + clientAuthCertNickname, null); + desiredCertName = clientAuthCertNickname; + } + + @Override + public String select(Vector certs) { + +- CMS.debug("SSLClientCertificatSelectionCB: Entering!"); ++ log(Level.INFO, "SSLClientCertificatSelectionCB: Entering!", null); + + if(desiredCertName == null) { + return null; +@@ -200,15 +231,15 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + + while(itr.hasNext()){ + String candidate = itr.next(); +- CMS.debug("Candidate cert: " + candidate); ++ log(Level.INFO, "Candidate cert: " + candidate, null); + if(desiredCertName.equalsIgnoreCase(candidate)) { + selection = candidate; +- CMS.debug("SSLClientCertificateSelectionCB: desired cert found in list: " + desiredCertName); ++ log(Level.INFO, "SSLClientCertificateSelectionCB: desired cert found in list: " + desiredCertName, null); + break; + } + } + +- CMS.debug("SSLClientCertificateSelectionCB: returning: " + selection); ++ log(Level.INFO, "SSLClientCertificateSelectionCB: returning: " + selection, null); + return selection; + + } +-- +1.8.3.1 + + +From c92c65f52dcff03f47fc7f05efa427ee9166c2e6 Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Mon, 26 Aug 2019 18:47:02 -0400 +Subject: [PATCH 5/7] =?UTF-8?q?Resolve=20(addition=20issues=20for)=20Bug?= + =?UTF-8?q?=201642577=20-=20TPS=20=E2=80=93=20Revoked=20Encryption=20Certi?= + =?UTF-8?q?ficates=20Marked=20as=20Active=20in=20TPS=20Cert=20LDAP=20Durin?= + =?UTF-8?q?g=20Token=20Key=20Recovery?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch addresses the following: +* in TokenKeyRecoveryService.java, unwrap should be with temperatory true +* in CS.cfg, auths.instance.ldap1.ldapStringAttributes and auths.instance.ldap1.externalReg.attributes are expanded to include additional elements +* in CS.cfg registrationTypeAttributeName is added as original submitter suggested +* TPSEnrollProcessor.java, additional error checkings +* TPSProcessor.java, addresses case sensitive nature of List "contains" method + +(cherry picked from commit 24bdc1e39a5bad6b944f6f5571bf48e7e2af52f6) +--- + .../com/netscape/kra/TokenKeyRecoveryService.java | 2 +- + base/tps/shared/conf/CS.cfg | 4 ++- + .../server/tps/processor/TPSEnrollProcessor.java | 2 +- + .../server/tps/processor/TPSProcessor.java | 34 ++++++++++++++++++---- + 4 files changed, 34 insertions(+), 8 deletions(-) + +diff --git a/base/kra/src/com/netscape/kra/TokenKeyRecoveryService.java b/base/kra/src/com/netscape/kra/TokenKeyRecoveryService.java +index dcccc78..e95945a 100644 +--- a/base/kra/src/com/netscape/kra/TokenKeyRecoveryService.java ++++ b/base/kra/src/com/netscape/kra/TokenKeyRecoveryService.java +@@ -678,7 +678,7 @@ public class TokenKeyRecoveryService implements IService { + privKey = mStorageUnit.unwrap( + keyRecord.getPrivateKeyData(), + pubkey, +- false, ++ true, + keyRecord.getWrappingParams(mStorageUnit.getOldWrappingParams())); + } catch (Exception e) { + CMS.debug("TokenKeyRecoveryService: recoverKey() - recovery failure"); +diff --git a/base/tps/shared/conf/CS.cfg b/base/tps/shared/conf/CS.cfg +index eb5b831..4bd4bb7 100644 +--- a/base/tps/shared/conf/CS.cfg ++++ b/base/tps/shared/conf/CS.cfg +@@ -61,10 +61,12 @@ auths.instance.ldap1.ldapStringAttributes._003=# $$ + auths.instance.ldap1.ldapStringAttributes._004=# attributes example: + auths.instance.ldap1.ldapStringAttributes._005=#mail,cn,uid,edipi,pcc,firstname,lastname,exec-edipi,exec-pcc,exec-mail,certsToAdd,tokenCUID,tokenType + auths.instance.ldap1.ldapStringAttributes._006=################################# +-auths.instance.ldap1.ldapStringAttributes=mail,cn,uid ++auths.instance.ldap1.ldapStringAttributes=mail,cn,uid,enrollmenttype,certsToAdd,tokenCUID,registrationtype,tokenType,firstname,lastname,exec-edipi,exec-mail + auths.instance.ldap1.ldap.basedn=[LDAP_ROOT] ++auths.instance.ldap1.externalReg.attributes=certsToAdd,tokenCUID,enrollmenttype,registrationtype,tokenType + auths.instance.ldap1.externalReg.certs.recoverAttributeName=certsToAdd + auths.instance.ldap1.externalReg.cuidAttributeName=tokenCUID ++auths.instance.ldap1.externalReg.registrationTypeAttributeName=registrationtype + auths.instance.ldap1.externalReg.tokenTypeAttributeName=tokenType + auths.instance.ldap1.ldap.maxConns=15 + auths.instance.ldap1.ldap.minConns=3 +diff --git a/base/tps/src/org/dogtagpki/server/tps/processor/TPSEnrollProcessor.java b/base/tps/src/org/dogtagpki/server/tps/processor/TPSEnrollProcessor.java +index 77b320c..f1e773a 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/processor/TPSEnrollProcessor.java ++++ b/base/tps/src/org/dogtagpki/server/tps/processor/TPSEnrollProcessor.java +@@ -200,7 +200,7 @@ public class TPSEnrollProcessor extends TPSProcessor { + // Check if the external reg parameter registrationType matches currentTokenOperation, + // otherwise stop the operation. + CMS.debug(method + " checking if record registrationtype matches currentTokenOperation."); +- if(erAttrs.getRegistrationType() != null) { ++ if(erAttrs.getRegistrationType() != null && erAttrs.getRegistrationType().length() > 0) { + if(!erAttrs.getRegistrationType().equalsIgnoreCase(currentTokenOperation)) { + CMS.debug( + method + " Error: registrationType " + +diff --git a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java +index ec069b1..61da1d6 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java ++++ b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java +@@ -1294,12 +1294,12 @@ public class TPSProcessor { + throws EBaseException, TPSException { + + String logMsg = null; +- CMS.debug("TPSProcessor.authenticateUser"); + if (op.isEmpty() || userAuth == null || userCred == null) { + logMsg = "TPSProcessor.authenticateUser: missing parameter(s): op, userAuth, or userCred"; + CMS.debug(logMsg); + throw new EBaseException(logMsg); + } ++ CMS.debug("TPSProcessor.authenticateUser: op: " + op); + IAuthManager auth = userAuth.getAuthManager(); + + try { +@@ -1311,6 +1311,12 @@ public class TPSProcessor { + while (n.hasMoreElements()) { + String name = n.nextElement(); + CMS.debug("TPSProcessor.authenticateUser: got authToken val name:" + name); ++ /* debugging authToken content vals ++ String[] vals = authToken.getInStringArray(name); ++ if (vals != null) { ++ CMS.debug("TPSProcessor.authenticateUser: got authToken val :" + vals[0]); ++ } ++ */ + } + return authToken; + } else { +@@ -1811,6 +1817,21 @@ public class TPSProcessor { + return ret; + } + ++ /* ++ * listCaseInsensitiveContains - case insensitive contain check ++ * @param s the string checked if contained in list ++ * @param list the list ++ * @returns true if list contains s; false otherwise ++ */ ++ public boolean listCaseInsensitiveContains(String s, List list){ ++ for (String element : list){ ++ if (element.equalsIgnoreCase(s)){ ++ return true; ++ } ++ } ++ return false; ++ } ++ + /* + * processExternalRegAttrs : + * - retrieve from authToken relevant attributes for externalReg +@@ -1836,7 +1857,7 @@ public class TPSProcessor { + if(attributesToProcess == null) + return erAttrs; + +- if(attributesToProcess.contains(erAttrs.ldapAttrNameTokenType)) { ++ if(listCaseInsensitiveContains(erAttrs.ldapAttrNameTokenType, attributesToProcess)) { + CMS.debug(method + ": getting from authToken:" + + erAttrs.ldapAttrNameTokenType); + vals = authToken.getInStringArray(erAttrs.ldapAttrNameTokenType); +@@ -1852,17 +1873,20 @@ public class TPSProcessor { + erAttrs.setTokenType(vals[0]); + } + } +- if(attributesToProcess.contains(erAttrs.ldapAttrNameTokenCUID)) { ++ if(listCaseInsensitiveContains(erAttrs.ldapAttrNameTokenCUID, attributesToProcess)) { + CMS.debug(method + ": getting from authToken:" + + erAttrs.ldapAttrNameTokenCUID); + vals = authToken.getInStringArray(erAttrs.ldapAttrNameTokenCUID); + if (vals != null) { + CMS.debug(method + ": retrieved cuid:" + vals[0]); + erAttrs.setTokenCUID(vals[0]); ++ } else { ++ CMS.debug(method + ": " + erAttrs.ldapAttrNameTokenCUID + ++ " attribute not found"); + } + } + +- if(attributesToProcess.contains(erAttrs.ldapAttrNameRegistrationType)) { ++ if(listCaseInsensitiveContains(erAttrs.ldapAttrNameRegistrationType, attributesToProcess)) { + CMS.debug(method + ": getting from authToken:" + + erAttrs.ldapAttrNameRegistrationType); + vals = authToken.getInStringArray(erAttrs.ldapAttrNameRegistrationType); +@@ -1876,7 +1900,7 @@ public class TPSProcessor { + + } + +- if(attributesToProcess.contains(erAttrs.ldapAttrNameCertsToRecover)) { ++ if(listCaseInsensitiveContains(erAttrs.ldapAttrNameCertsToRecover, attributesToProcess)) { + /* + * certs to be recovered for this user + * - multi-valued +-- +1.8.3.1 + + +From 74c7c1133fd8d2f216eb1330147e870632ded68f Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Wed, 28 Aug 2019 18:11:36 -0400 +Subject: [PATCH 6/7] simple typo fix in a debug line. + +(cherry picked from commit 272b785d20bc807406bc1e89a52c0fc142e25e72) +--- + base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java +index 61da1d6..baf0671 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java ++++ b/base/tps/src/org/dogtagpki/server/tps/processor/TPSProcessor.java +@@ -4172,7 +4172,7 @@ public class TPSProcessor { + + keyInfo = tokenRecord.getKeyInfo(); + +- CMS.debug("TPProcessor.getKeyInfioFromTokenDB: returning: " + keyInfo); ++ CMS.debug("TPProcessor.getKeyInfoFromTokenDB: returning: " + keyInfo); + + return keyInfo; + +-- +1.8.3.1 + + +From ce90aeab54f0a33d1c59bd5a95852ea2c62541e9 Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Fri, 6 Sep 2019 16:49:00 -0400 +Subject: [PATCH 7/7] Bug 1523330 - CC: missing audit event for CS acting as + TLS client + +This patch adds failed CLIENT_ACCESS_SESSION_ESTABLISH audit event for the case +when internal ldap server goes down + +fixes https://bugzilla.redhat.com/show_bug.cgi?id=1523330 + +(cherry picked from commit 10d52dd0d6b562edc9e32c543017c67c1c0212a8) +--- + .../netscape/cmscore/ldapconn/PKISocketFactory.java | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java +index 00df65b..dc93f5d 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java +@@ -33,6 +33,9 @@ import org.mozilla.jss.ssl.SSLSocket; + + import com.netscape.certsrv.apps.CMS; + import com.netscape.certsrv.base.IConfigStore; ++import com.netscape.certsrv.logging.event.ClientAccessSessionEstablishEvent; ++import com.netscape.certsrv.logging.SignedAuditEvent; ++import com.netscape.cms.logging.SignedAuditLogger; + + import netscape.ldap.LDAPException; + import netscape.ldap.LDAPSSLSocketFactoryExt; +@@ -46,6 +49,8 @@ import org.dogtagpki.server.PKIClientSocketListener; + */ + public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + ++ private static SignedAuditLogger signedAuditLogger = SignedAuditLogger.getLogger(); ++ + private boolean secure; + private String mClientAuthCertNickname; + private boolean mClientAuth; +@@ -157,6 +162,22 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt { + s.setKeepAlive(keepAlive); + + } catch (Exception e) { ++ // for auditing ++ String localIP = "localhost"; ++ try { ++ localIP = InetAddress.getLocalHost().getHostAddress(); ++ } catch (UnknownHostException e2) { ++ // default to "localhost"; ++ } ++ SignedAuditEvent auditEvent; ++ auditEvent = ClientAccessSessionEstablishEvent.createFailureEvent( ++ localIP, ++ host, ++ Integer.toString(port), ++ "SYSTEM", ++ "connect:" +e.toString()); ++ signedAuditLogger.log(auditEvent); ++ + CMS.debug(e); + if (s != null) { + try { +-- +1.8.3.1 + diff --git a/SOURCES/pki-core-rhel-7-8-rhcs-9-6-beta.patch b/SOURCES/pki-core-rhel-7-8-rhcs-9-6-beta.patch new file mode 100644 index 0000000..091a1d9 --- /dev/null +++ b/SOURCES/pki-core-rhel-7-8-rhcs-9-6-beta.patch @@ -0,0 +1,1642 @@ +From 696422ef74f9e143684d6a79769217a32811ec16 Mon Sep 17 00:00:00 2001 +From: Christina Fu +Date: Mon, 9 Sep 2019 20:36:26 -0400 +Subject: [PATCH 01/14] Bug 1638891 - TPS - (addl fix) Add External + Registration Support to PIN Reset + +This small patch fixes a critical typo (during patch merge) that causes KeySet + to be accidentally written to token Type instead. + +(cherry picked from commit 78c86e6cf33e85a23e666e06708441ac58b46a75) +--- + .../src/org/dogtagpki/server/tps/processor/TPSPinResetProcessor.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/tps/src/org/dogtagpki/server/tps/processor/TPSPinResetProcessor.java b/base/tps/src/org/dogtagpki/server/tps/processor/TPSPinResetProcessor.java +index a8589fe..de5c634 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/processor/TPSPinResetProcessor.java ++++ b/base/tps/src/org/dogtagpki/server/tps/processor/TPSPinResetProcessor.java +@@ -209,7 +209,7 @@ public class TPSPinResetProcessor extends TPSProcessor { + BaseMappingResolver resolverInst = + subsystem.getMappingResolverManager().getResolverInstance(resolverInstName); + String keySet = resolverInst.getResolvedMapping(mappingParams, "keySet"); +- setSelectedTokenType(keySet); ++ setSelectedKeySet(keySet); + CMS.debug(method + " resolved keySet: " + keySet); + } + } catch (TPSException e) { +-- +1.8.3.1 + + +From eee11e26487e7993d4923df4c30d72b667a14a2b Mon Sep 17 00:00:00 2001 +From: "Endi S. Dewata" +Date: Tue, 10 Sep 2019 15:50:38 -0500 +Subject: [PATCH 02/14] Fixed TPSTokendb.tdbFindTokenRecordsByUID() + +The TPSTokendb.tdbFindTokenRecordsByUID() has been modified such +that it uses (tokenUserID=) filter to find tokens with exact +owner UID instead of filter with wildcards. + +https://bugzilla.redhat.com/show_bug.cgi?id=1520258 +(cherry picked from commit e8c81c59f03a3db5886924e4e7ec272bc864d953) +--- + .../src/com/netscape/cmscore/dbs/LDAPDatabase.java | 23 +++++++++++++++++++--- + .../src/org/dogtagpki/server/tps/TPSTokendb.java | 22 ++++++++++++--------- + .../dogtagpki/server/tps/dbs/TokenDatabase.java | 1 + + 3 files changed, 34 insertions(+), 12 deletions(-) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/LDAPDatabase.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/LDAPDatabase.java +index 8773423..8e7f1f3 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/LDAPDatabase.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/LDAPDatabase.java +@@ -108,12 +108,22 @@ public abstract class LDAPDatabase extends Database { + // if no attributes specified, don't change filter + if (attributes == null || attributes.isEmpty()) return; + +- // wrap current filter with attribute matching filter +- sb.insert(0, "(&"); ++ // count filter components ++ int components = 0; ++ if (sb.length() > 0) components++; // count original filter ++ components += attributes.size(); // count attribute filters ++ ++ // concatenate the original filter and attribute filters: ++ // (=)...(=) + for (Map.Entry entry : attributes.entrySet()) { + sb.append("(" + entry.getKey() + "=" + LDAPUtil.escapeFilter(entry.getValue()) + ")"); + } +- sb.append(")"); ++ ++ // if there are multiple filter components, join with AND operator ++ if (components > 1) { ++ sb.insert(0, "(&"); ++ sb.append(")"); ++ } + } + + @Override +@@ -121,13 +131,20 @@ public abstract class LDAPDatabase extends Database { + return findRecords(keyword, null); + } + ++ /** ++ * Search for LDAP records with the specified keyword and attributes. ++ * The keyword parameter will be used to search with wildcards on certain attributes. ++ * The attributes parameter will be used to find exact matches of the specified attributes. ++ */ + public Collection findRecords(String keyword, Map attributes) throws Exception { + + CMS.debug("LDAPDatabase: findRecords()"); + + try (IDBSSession session = dbSubsystem.createSession()) { + Collection list = new ArrayList(); ++ + String ldapFilter = createFilter(keyword, attributes); ++ + CMS.debug("LDAPDatabase: searching " + baseDN + " with filter " + ldapFilter); + IDBSearchResults results = session.search(baseDN, ldapFilter); + +diff --git a/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java b/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java +index 80c9bb1..da0b51d 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java ++++ b/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java +@@ -23,6 +23,7 @@ import java.util.Collection; + import java.util.Date; + import java.util.HashMap; + import java.util.Iterator; ++import java.util.LinkedHashMap; + import java.util.Map; + + import org.dogtagpki.server.tps.cms.CARemoteRequestHandler; +@@ -141,17 +142,20 @@ public class TPSTokendb { + */ + public ArrayList tdbFindTokenRecordsByUID(String uid) + throws Exception { +- ArrayList tokenRecords = new ArrayList(); +- String filter = uid; +- Iterator records = null; +- records = tps.tokenDatabase.findRecords(filter).iterator(); + +- while (records.hasNext()) { +- TokenRecord tokenRecord = records.next(); +- tokenRecords.add(tokenRecord); +- } ++ // search for tokens with (tokenUserID=) ++ Map attributes = new LinkedHashMap<>(); ++ attributes.put("tokenUserID", uid); ++ ++ Iterator records = tps.tokenDatabase.findRecords(null, attributes).iterator(); ++ ++ ArrayList tokenRecords = new ArrayList(); ++ while (records.hasNext()) { ++ TokenRecord tokenRecord = records.next(); ++ tokenRecords.add(tokenRecord); ++ } + +- return tokenRecords; ++ return tokenRecords; + } + + public void tdbHasActiveToken(String userid) +diff --git a/base/tps/src/org/dogtagpki/server/tps/dbs/TokenDatabase.java b/base/tps/src/org/dogtagpki/server/tps/dbs/TokenDatabase.java +index 9235e78..b349cb2 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/dbs/TokenDatabase.java ++++ b/base/tps/src/org/dogtagpki/server/tps/dbs/TokenDatabase.java +@@ -60,6 +60,7 @@ public class TokenDatabase extends LDAPDatabase { + StringBuilder sb = new StringBuilder(); + + if (keyword != null) { ++ // if keyword is specified, generate filter with wildcards + keyword = LDAPUtil.escapeFilter(keyword); + sb.append("(|(id=*" + keyword + "*)(userID=*" + keyword + "*))"); + } +-- +1.8.3.1 + + +From 3cc98ae77dff2351c1ea6af0086d4d0daeb28497 Mon Sep 17 00:00:00 2001 +From: "Endi S. Dewata" +Date: Fri, 13 Sep 2019 17:31:21 -0500 +Subject: [PATCH 03/14] Fixed TPSTokendb.tdbFindTokenRecordsByUID() (part 2) + +The TPSTokendb.tdbFindTokenRecordsByUID() has been modified to +construct (userID=) filter which will be translated into +(tokenUserID=) LDAP filter as defined in TokenRecord. + +https://bugzilla.redhat.com/show_bug.cgi?id=1520258 +(cherry picked from commit def3453308c68493f7417e485a1db14419187af0) +--- + base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java b/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java +index da0b51d..49bfb7f 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java ++++ b/base/tps/src/org/dogtagpki/server/tps/TPSTokendb.java +@@ -143,9 +143,11 @@ public class TPSTokendb { + public ArrayList tdbFindTokenRecordsByUID(String uid) + throws Exception { + +- // search for tokens with (tokenUserID=) ++ // search for tokens with (userID=) filter which will be ++ // translated into (tokenUserID=) LDAP filter as defined ++ // in TokenRecord + Map attributes = new LinkedHashMap<>(); +- attributes.put("tokenUserID", uid); ++ attributes.put("userID", uid); + + Iterator records = tps.tokenDatabase.findRecords(null, attributes).iterator(); + +-- +1.8.3.1 + + +From 53766e02131741dc0cb6434755b3ba488f0bd927 Mon Sep 17 00:00:00 2001 +From: Dinesh Prasanth M K +Date: Wed, 18 Sep 2019 15:36:51 -0400 +Subject: [PATCH 04/14] Update KRATool to support netkeyKeyRecovery entries + (#248) + +The `netkeyKeyRecovery` request entries are generated when +the TPS retrieves encryption cert onto tokens. + +The attributes processed by KRATool include: +* requestId +* dn +* dateOfModify +* cn +* extdata-requestid +* extdata-request-notes (creates, if it doesn't exist) + +Resolves: BZ#1445479 + +Signed-off-by: Dinesh Prasanth M K + +(cherry picked from commit b02bc04fe16c59aec28d90323e7c9e31dbd7261f) +--- + base/java-tools/man/man1/KRATool.1 | 44 +- + .../src/com/netscape/cmstools/KRATool.cfg | 21 + + .../src/com/netscape/cmstools/KRATool.java | 460 ++++++++++++++++++++- + 3 files changed, 506 insertions(+), 19 deletions(-) + +diff --git a/base/java-tools/man/man1/KRATool.1 b/base/java-tools/man/man1/KRATool.1 +index b04cd2b..1e2fe99 100644 +--- a/base/java-tools/man/man1/KRATool.1 ++++ b/base/java-tools/man/man1/KRATool.1 +@@ -1,7 +1,7 @@ + .\" First parameter, NAME, should be all caps + .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection + .\" other parameters are allowed: see man(7), man(1) +-.TH KRATool 1 "July 18, 2016" "version 10.3" "PKI Key Recovery Authority (KRA) Tool" Dogtag Team ++.TH KRATool 1 "Sep 11, 2019" "version 10.5" "PKI Key Recovery Authority (KRA) Tool" Dogtag Team + .\" Please adjust this date whenever revising the man page. + .\" + .\" Some roff macros, for reference: +@@ -33,6 +33,8 @@ The syntax for rewrapping keys: + [-source_pki_security_database_pwdfile ]] + [-source_kra_naming_context -target_kra_naming_context ] + [-process_requests_and_key_records_only] ++ [-unwrap_algorithm AES|DES3] ++ + .fi + .PP + The syntax for renumbering keys: +@@ -130,6 +132,12 @@ Gives the path and filename to a password file that contains only the password f + + This argument is optional when other rewrap parameters are used. If this argument is not used, then the script prompts for the password. + ++.TP ++.B -unwrap_algorithm ++Specifies the symmetric key algorithm used by source KRA. Available options include \fBDES3\fP and \fBAES\fP ++ ++This argument is optional and defaults to \fBDES3\fP if unspecified. ++ + .PP + The following parameters are optional for renumbering keys: + +@@ -147,13 +155,14 @@ If \fB-remove_id_offset\fP is used, then do not use the \fB-append_id_offset\fP + + .SH Configuration File (.cfg) + .PP +-The required configuration file instructs the KRATool how to process attributes in the key archival and key request entries in the LDIF file. There are six types of entries: ++The required configuration file instructs the KRATool how to process attributes in the key archival and key request entries in the LDIF file. There are seven types of entries: + .IP + * CA enrollment requests + * TPS enrollment requests + * CA key records + * TPS key records + * CA and TPS recovery requests (which are treated the same in the KRA) ++* TPS token key recovery requests + .PP + Each key and key request has an LDAP entry with attributes that are specific to that kind of record. For example, for a recovery request: + .IP +@@ -198,7 +207,7 @@ nsUniqueId: b2891805-1dd111b2-a6d7e85f-2c2f0000 + .PP + Much of that information passes through the script processing unchanged, so it is entered into the new, target KRA just the same. However, some of those attributes can and should be edited, like the Common Name (CN) and DN being changed to match the new KRA instance. The fields which can safely be changed are listed in the configuration file for each type of key entry. (Any attribute not listed is not touched by the tool under any circumstances.) + .PP +-If a field /fIshould/fP be edited — meaning, the tool can update the record ID number or rename the entry — then the value is set to true in the configuration file. For example, this configuration updates the CN, DN, ID number, last modified date, and associated entry notes for all CA enrollment requests: ++If a field \fIshould\fP be edited — meaning, the tool can update the record ID number or rename the entry — then the value is set to true in the configuration file. For example, this configuration updates the CN, DN, ID number, last modified date, and associated entry notes for all CA enrollment requests: + .IP + .nf + kratool.ldif.caEnrollmentRequest.cn=true +@@ -324,9 +333,9 @@ kratool.ldif.namingContext._037=## uid ## + kratool.ldif.namingContext._038=## uniqueMember ## + kratool.ldif.namingContext._039=## ## + kratool.ldif.namingContext._040=## If '-source_naming_context ## +-kratool.ldif.namingContext._041=## original source KRA naming context' ## ++kratool.ldif.namingContext._041=## ' ## + kratool.ldif.namingContext._042=## and '-target_naming_context ## +-kratool.ldif.namingContext._043=## renamed target KRA naming context' ## ++kratool.ldif.namingContext._043=## ' ## + kratool.ldif.namingContext._044=## options are specified, ALWAYS ## + kratool.ldif.namingContext._045=## require 'KRATOOL' to change the ## + kratool.ldif.namingContext._046=## KRA 'naming context' data in ALL of ## +@@ -355,6 +364,10 @@ kratool.ldif.namingContext._068=## tpsNetkeyKeygenRequest: ## + kratool.ldif.namingContext._069=## ## + kratool.ldif.namingContext._070=## dn ## + kratool.ldif.namingContext._071=## ## ++kratool.ldif.namingContext._072=## tpsNetkeyKeyRecoveryRequest: ## ++kratool.ldif.namingContext._073=## ## ++kratool.ldif.namingContext._074=## dn ## ++kratool.ldif.namingContext._075=## ## + kratool.ldif.namingContext._072=############################################ + kratool.ldif.recoveryRequest._000=##################################### + kratool.ldif.recoveryRequest._001=## KRA CA / TPS Recovery Request ## +@@ -401,6 +414,23 @@ kratool.ldif.tpsNetkeyKeygenRequest.extdata.keyRecord=true + kratool.ldif.tpsNetkeyKeygenRequest.extdata.requestId=true + kratool.ldif.tpsNetkeyKeygenRequest.extdata.requestNotes=true + kratool.ldif.tpsNetkeyKeygenRequest.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._000=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._001=## KRA TPS Netkey Keyrecovery Request ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._002=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._003=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._004=## NEVER allow 'KRATOOL' the ability ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._005=## to change the TPS 'naming context'## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._006=## data in the following fields: ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._007=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._008=## extdata-updatedby ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._009=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._010=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.cn=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.dn=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.dateOfModify=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.extdata.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.extdata.requestNotes=true + .if + + .SH EXAMPLES +@@ -448,10 +478,10 @@ KRATool -kratool_config_file "/usr/share/pki/java-tools/KRATool.cfg" -source_ldi + .if + + .SH AUTHORS +-Matthew Harmsen . ++Matthew Harmsen and Dinesh Prasanth M K + + .SH COPYRIGHT +-Copyright (c) 2016 Red Hat, Inc. This is licensed under the GNU General Public ++Copyright (c) 2019 Red Hat, Inc. This is licensed under the GNU General Public + License, version 2 (GPLv2). A copy of this license is available at + http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. + +diff --git a/base/java-tools/src/com/netscape/cmstools/KRATool.cfg b/base/java-tools/src/com/netscape/cmstools/KRATool.cfg +index cad2bf4..b2a4892 100644 +--- a/base/java-tools/src/com/netscape/cmstools/KRATool.cfg ++++ b/base/java-tools/src/com/netscape/cmstools/KRATool.cfg +@@ -111,6 +111,10 @@ kratool.ldif.namingContext._068=## tpsNetkeyKeygenRequest: ## + kratool.ldif.namingContext._069=## ## + kratool.ldif.namingContext._070=## dn ## + kratool.ldif.namingContext._071=## ## ++kratool.ldif.namingContext._072=## tpsNetkeyKeyRecoveryRequest: ## ++kratool.ldif.namingContext._073=## ## ++kratool.ldif.namingContext._074=## dn ## ++kratool.ldif.namingContext._075=## ## + kratool.ldif.namingContext._072=############################################ + kratool.ldif.recoveryRequest._000=##################################### + kratool.ldif.recoveryRequest._001=## KRA CA / TPS Recovery Request ## +@@ -157,4 +161,21 @@ kratool.ldif.tpsNetkeyKeygenRequest.extdata.keyRecord=true + kratool.ldif.tpsNetkeyKeygenRequest.extdata.requestId=true + kratool.ldif.tpsNetkeyKeygenRequest.extdata.requestNotes=true + kratool.ldif.tpsNetkeyKeygenRequest.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._000=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._001=## KRA TPS Netkey Keyrecovery Request ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._002=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._003=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._004=## NEVER allow 'KRATOOL' the ability ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._005=## to change the TPS 'naming context'## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._006=## data in the following fields: ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._007=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._008=## extdata-updatedby ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._009=## ## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest._010=######################################## ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.cn=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.dn=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.dateOfModify=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.extdata.requestId=true ++kratool.ldif.tpsNetkeyKeyRecoveryRequest.extdata.requestNotes=true + +diff --git a/base/java-tools/src/com/netscape/cmstools/KRATool.java b/base/java-tools/src/com/netscape/cmstools/KRATool.java +index 74e5a6a..e4b9ae8 100644 +--- a/base/java-tools/src/com/netscape/cmstools/KRATool.java ++++ b/base/java-tools/src/com/netscape/cmstools/KRATool.java +@@ -699,6 +699,7 @@ public class KRATool { + private static final String KRATOOL_CFG_RECOVERY = "recoveryRequest"; + private static final String KRATOOL_CFG_TPS_KEY_RECORD = "tpsKeyRecord"; + private static final String KRATOOL_CFG_KEYGEN = "tpsNetkeyKeygenRequest"; ++ private static final String KRATOOL_CFG_KEYRECOVERY = "tpsNetkeyKeyRecoveryRequest"; + + // Constants: KRATOOL Config File (KRA CA Enrollment Request Fields) + private static final String KRATOOL_CFG_ENROLLMENT_CN = KRATOOL_CFG_PREFIX +@@ -860,6 +861,42 @@ public class KRATool { + + DOT + + "requestId"; + ++ private static final String KRATOOL_CFG_KEYRECOVERY_REQUEST_ID = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "requestId"; ++ ++ private static final String KRATOOL_CFG_KEYRECOVERY_DN = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "dn"; ++ ++ private static final String KRATOOL_CFG_KEYRECOVERY_DATE_OF_MODIFY = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "dateOfModify"; ++ ++ private static final String KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_ID = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "extdata.requestId"; ++ ++ private static final String KRATOOL_CFG_KEYRECOVERY_CN = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "cn"; ++ ++ private static final String KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_NOTES = KRATOOL_CFG_PREFIX ++ + DOT ++ + KRATOOL_CFG_KEYRECOVERY ++ + DOT ++ + "extdata.requestNotes"; ++ + // Constants: Target Certificate Information + private static final String HEADER = "-----BEGIN"; + private static final String TRAILER = "-----END"; +@@ -892,6 +929,7 @@ public class KRATool { + private static final String KRA_LDIF_KEYGEN = "netkeyKeygen"; + private static final String KRA_LDIF_RECOVERY = "recovery"; + private static final String KRA_LDIF_TPS_KEY_RECORD = "TPS"; ++ private static final String KRA_LDIF_KEYRECOVERY = "netkeyKeyRecovery"; + + // Constants: KRA LDIF Record Messages + private static final String KRA_LDIF_REWRAP_MESSAGE = "REWRAPPED the '" +@@ -2334,6 +2372,15 @@ public class KRATool { + } else { + output = line; + } ++ } else if (record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if( kratoolCfg.get(KRATOOL_CFG_KEYRECOVERY_CN ) ) { ++ output = compose_numeric_line(KRA_LDIF_CN, ++ SPACE, ++ line, ++ false ); ++ } else { ++ output = line; ++ } + } else if (record_type.equals(KRA_LDIF_RECORD)) { + // Non-Request / Non-Key Record: + // Pass through the original +@@ -2439,6 +2486,21 @@ public class KRATool { + } else { + output = line; + } ++ } else if (record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if( kratoolCfg.get( KRATOOL_CFG_KEYRECOVERY_DATE_OF_MODIFY ) ) { ++ output = KRA_LDIF_DATE_OF_MODIFY ++ + SPACE ++ + mDateOfModify; ++ ++ log( "Changed '" ++ + line ++ + "' to '" ++ + output ++ + "'." ++ + NEWLINE, false ); ++ } else { ++ output = line; ++ } + } else { + log("ERROR: Mismatched record field='" + + KRA_LDIF_DATE_OF_MODIFY +@@ -2657,6 +2719,44 @@ public class KRATool { + } else { + output = line; + } ++ } else if (record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if( kratoolCfg.get( KRATOOL_CFG_KEYRECOVERY_DN ) ) { ++ // First check for an embedded "cn=" ++ // name-value pair ++ if( line.startsWith( KRA_LDIF_DN_EMBEDDED_CN_DATA ) ) { ++ // At this point, always extract ++ // the embedded "cn=" name-value pair ++ // which will ALWAYS be the first ++ // portion of the "dn: " attribute ++ embedded_cn_data = line.split( COMMA, 2 ); ++ ++ embedded_cn_output = compose_numeric_line( ++ KRA_LDIF_DN_EMBEDDED_CN_DATA, ++ EQUAL_SIGN, ++ embedded_cn_data[0], ++ false ); ++ ++ input = embedded_cn_output ++ + COMMA ++ + embedded_cn_data[1]; ++ } else { ++ input = line; ++ } ++ ++ // Since "-source_kra_naming_context", and ++ // "-target_kra_naming_context" are OPTIONAL ++ // parameters, ONLY process this portion of the field ++ // if both of these options have been selected ++ if( mKraNamingContextsFlag ) { ++ output = input.replace( mSourceKraNamingContext, ++ mTargetKraNamingContext ); ++ } else { ++ output = input; ++ } ++ ++ } else { ++ output = line; ++ } + } else if (record_type.equals(KRA_LDIF_RECORD)) { + // Non-Request / Non-Key Record: + // Pass through the original +@@ -2771,6 +2871,15 @@ public class KRATool { + } else { + output = line; + } ++ } else if (record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if( kratoolCfg.get(KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_ID ) ) { ++ output = compose_numeric_line(KRA_LDIF_EXTDATA_REQUEST_ID, ++ SPACE, ++ line, ++ false ); ++ } else { ++ output = line; ++ } + } else { + log("ERROR: Mismatched record field='" + + KRA_LDIF_EXTDATA_REQUEST_ID +@@ -3307,6 +3416,167 @@ public class KRATool { + } else { + output = line; + } ++ } else if (record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if( kratoolCfg.get( KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_NOTES ) ) { ++ // write out a revised 'extdata-requestnotes' line ++ if( mRewrapFlag && mAppendIdOffsetFlag ) { ++ data = input ++ + SPACE ++ + LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + SPACE ++ + PLUS + SPACE ++ + KRA_LDIF_APPENDED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mAppendIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRewrapFlag && mRemoveIdOffsetFlag ) { ++ data = input ++ + SPACE ++ + LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + SPACE ++ + PLUS + SPACE ++ + KRA_LDIF_REMOVED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mRemoveIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRewrapFlag ) { ++ data = input ++ + SPACE ++ + LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mAppendIdOffsetFlag ) { ++ data = input ++ + SPACE ++ + LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_APPENDED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mAppendIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRemoveIdOffsetFlag ) { ++ data = input ++ + SPACE ++ + LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REMOVED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mRemoveIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } ++ ++ // log this information ++ log( "Changed:" ++ + NEWLINE ++ + TIC ++ + KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ input.toString() ) ++ + TIC ++ + NEWLINE ++ + "--->" ++ + NEWLINE ++ + TIC ++ + output ++ + TIC ++ + NEWLINE, false ); ++ } else { ++ output = line; ++ } + } else { + log("ERROR: Mismatched record field='" + + KRA_LDIF_EXTDATA_REQUEST_NOTES +@@ -3634,6 +3904,153 @@ public class KRATool { + System.out.print("."); + } + } ++ } else if (record_type.equals(KRA_LDIF_KEYRECOVERY)) { ++ if( kratoolCfg.get( KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_NOTES ) ) { ++ if(!previous_line.startsWith( KRA_LDIF_EXTDATA_REQUEST_NOTES)) { ++ // write out the missing 'extdata-requestnotes' line ++ if( mRewrapFlag && mAppendIdOffsetFlag ) { ++ data = LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + SPACE ++ + PLUS + SPACE ++ + KRA_LDIF_APPENDED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mAppendIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRewrapFlag && mRemoveIdOffsetFlag ) { ++ data = LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + SPACE ++ + PLUS + SPACE ++ + KRA_LDIF_REMOVED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mRemoveIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRewrapFlag ) { ++ data = LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REWRAP_MESSAGE ++ + mPublicKeySize ++ + KRA_LDIF_RSA_MESSAGE ++ + mSourcePKISecurityDatabasePwdfileMessage ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mAppendIdOffsetFlag ) { ++ data = LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_APPENDED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mAppendIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } else if( mRemoveIdOffsetFlag ) { ++ data = LEFT_BRACE ++ + mDateOfModify ++ + RIGHT_BRACE ++ + COLON + SPACE ++ + KRA_LDIF_REMOVED_ID_OFFSET_MESSAGE ++ + SPACE ++ + TIC ++ + mRemoveIdOffset.toString() ++ + TIC ++ + mKraNamingContextMessage ++ + mProcessRequestsAndKeyRecordsOnlyMessage; ++ ++ // Unformat the data ++ unformatted_data = stripEOL( data ); ++ ++ // Format the unformatted_data ++ // to match the desired LDIF format ++ output = KRA_LDIF_EXTDATA_REQUEST_NOTES ++ + SPACE ++ + format_ldif_data( ++ EXTDATA_REQUEST_NOTES_FIRST_LINE_DATA_LENGTH, ++ unformatted_data ); ++ } ++ ++ // log this information ++ log( "Created:" ++ + NEWLINE ++ + TIC ++ + output ++ + TIC ++ + NEWLINE, false ); ++ ++ // Write out this revised line ++ // and flush the buffer ++ writer.write( output + NEWLINE ); ++ writer.flush(); ++ System.out.print( "." ); ++ } ++ } + } + } + +@@ -3897,6 +4314,15 @@ public class KRATool { + } else { + output = line; + } ++ } else if ( record_type.equals( KRA_LDIF_KEYRECOVERY ) ) { ++ if ( kratoolCfg.get( KRATOOL_CFG_KEYRECOVERY_REQUEST_ID ) ) { ++ output = compose_numeric_line(KRA_LDIF_REQUEST_ID, ++ SPACE, ++ line, ++ true); ++ } else { ++ output = line; ++ } + } else { + log("ERROR: Mismatched record field='" + + KRA_LDIF_REQUEST_ID +@@ -4115,7 +4541,8 @@ public class KRATool { + ).trim(); + if (!record_type.equals(KRA_LDIF_ENROLLMENT) && + !record_type.equals(KRA_LDIF_KEYGEN) && +- !record_type.equals(KRA_LDIF_RECOVERY)) { ++ !record_type.equals(KRA_LDIF_RECOVERY) && ++ !record_type.equals( KRA_LDIF_KEYRECOVERY)) { + log("ERROR: Unknown LDIF record type='" + + record_type + + "'!" +@@ -4398,7 +4825,13 @@ public class KRATool { + || name.equals(KRATOOL_CFG_KEYGEN_EXTDATA_KEY_RECORD) + || name.equals(KRATOOL_CFG_KEYGEN_EXTDATA_REQUEST_ID) + || name.equals(KRATOOL_CFG_KEYGEN_EXTDATA_REQUEST_NOTES) +- || name.equals(KRATOOL_CFG_KEYGEN_REQUEST_ID)) { ++ || name.equals(KRATOOL_CFG_KEYGEN_REQUEST_ID) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_REQUEST_ID ) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_DN ) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_DATE_OF_MODIFY) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_ID) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_CN) ++ || name.equals(KRATOOL_CFG_KEYRECOVERY_EXTDATA_REQUEST_NOTES) ) { + kratoolCfg.put(name, value); + System.out.print("."); + } +@@ -4496,6 +4929,7 @@ public class KRATool { + (args.length != (REWRAP_AND_ID_OFFSET_ARGS + 5)) && + (args.length != (REWRAP_AND_ID_OFFSET_ARGS + 6)) && + (args.length != (REWRAP_AND_ID_OFFSET_ARGS + 7)) && ++ (args.length != (REWRAP_AND_ID_OFFSET_ARGS + 8)) && + (args.length != (REWRAP_AND_ID_OFFSET_ARGS + 9))) { + System.err.println("ERROR: Incorrect number of arguments!" + + NEWLINE); +@@ -4892,16 +5326,18 @@ public class KRATool { + } + + // Check for the Key Unwrap Algorithm provided by user. +- // If unprovided, choose DES3 as the default (to maintain consistency with old code) +- if (keyUnwrapAlgorithmName.equalsIgnoreCase("DES3")) { +- keyUnwrapAlgorithm = SymmetricKey.DES3; +- } else if (keyUnwrapAlgorithmName.equalsIgnoreCase("AES")) { +- keyUnwrapAlgorithm = SymmetricKey.AES; +- } else { +- System.err.println("ERROR: Unsupported key unwrap algorithm '" +- + keyUnwrapAlgorithmName + "'" +- + NEWLINE); +- System.exit(1); ++ // If unprovided, DES3 is chosen as the default (to maintain consistency with old code) ++ if (keyUnwrapAlgorithmName != null) { ++ if (keyUnwrapAlgorithmName.equalsIgnoreCase("DES3")) { ++ keyUnwrapAlgorithm = SymmetricKey.DES3; ++ } else if (keyUnwrapAlgorithmName.equalsIgnoreCase("AES")) { ++ keyUnwrapAlgorithm = SymmetricKey.AES; ++ } else { ++ System.err.println("ERROR: Unsupported key unwrap algorithm '" ++ + keyUnwrapAlgorithmName + "'" ++ + NEWLINE); ++ System.exit(1); ++ } + } + + // Check for OPTIONAL "Process Requests and Key Records ONLY" option +-- +1.8.3.1 + + +From b8f619e12ac90aab1ad845bffbdefffcb1e9229d Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Thu, 19 Sep 2019 15:41:40 +1000 +Subject: [PATCH 05/14] SecurityDataProcess.archive: log decryption failure + +(cherry picked from commit df26b7e86b3341c2cc7c0d5d9c3d9f680496a071) +--- + base/kra/src/com/netscape/kra/SecurityDataProcessor.java | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/base/kra/src/com/netscape/kra/SecurityDataProcessor.java b/base/kra/src/com/netscape/kra/SecurityDataProcessor.java +index 5a64530..05e73ce 100644 +--- a/base/kra/src/com/netscape/kra/SecurityDataProcessor.java ++++ b/base/kra/src/com/netscape/kra/SecurityDataProcessor.java +@@ -208,6 +208,8 @@ public class SecurityDataProcessor { + KeyRequestService.SYMKEY_TYPES.get(algorithm), + strength); + } catch (Exception e) { ++ CMS.debug("Can't decrypt symmetric key:"); ++ CMS.debug(e); + throw new EBaseException("Can't decrypt symmetric key.", e); + } + } +@@ -222,6 +224,8 @@ public class SecurityDataProcessor { + secdata, + null); + } catch (Exception e) { ++ CMS.debug("Can't decrypt passphrase."); ++ CMS.debug(e); + throw new EBaseException("Can't decrypt passphrase.", e); + } + +-- +1.8.3.1 + + +From 38a8d9d7fb4e18027c763a553c5ab20cfe709a76 Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Thu, 19 Sep 2019 17:17:24 +1000 +Subject: [PATCH 06/14] CryptoUtil: include OID in NoSuchAlgorithmException + +(cherry picked from commit c08b0cdbf069033d7ddc4e769890bf6281200659) +--- + base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java +index 083b9f2..e9bc0dd 100644 +--- a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java ++++ b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java +@@ -3114,7 +3114,7 @@ public class CryptoUtil { + if (oid.equals(KeyWrapAlgorithm.DES_CBC_PAD_OID)) + return KeyWrapAlgorithm.DES3_CBC_PAD; + +- throw new NoSuchAlgorithmException(); ++ throw new NoSuchAlgorithmException(wrapOID); + } + + } +-- +1.8.3.1 + + +From 4ade0812dac8bebb81500ea74641f3bf79548f42 Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Thu, 19 Sep 2019 20:54:17 +1000 +Subject: [PATCH 07/14] CryptoUtil.getKeywrapAlgorithmFromOID: Fix DES-EDE3-CBC + selection + +Commit dbd2d9b587f46b8af2f78b73d62715c1fd3344fc contained the edit: + +- if (oid.equals(KW_DES_CBC_PAD)) ++ if (oid.equals(KeyWrapAlgorithm.DES_CBC_PAD_OID)) + +KW_DES_CBC_PAD was 1.2.840.113549.3.7 (DES-EDE3-CBC; this definition +was removed in the same commit). But +KeyWrapAlgorithm.DES_CBC_PAD_OID is 1.3.14.3.2.7. This is a +behaviour change that breaks KRA archival (possibly recovery too). + +Test equality to KeyWrapAlgorithm.DES3_CBC_PAD_OID to restore the +correct behaviour. Also fix a similar error in WrappingParams.java. + +Related: https://bugzilla.redhat.com/show_bug.cgi?id=1709585 +(cherry picked from commit 4d9b4f23d761621073eb7f858e654fc7aceb406d) +--- + base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java | 2 +- + base/util/src/netscape/security/util/WrappingParams.java | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java +index e9bc0dd..3d85a14 100644 +--- a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java ++++ b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java +@@ -3111,7 +3111,7 @@ public class CryptoUtil { + if (oid.equals(KeyWrapAlgorithm.AES_CBC_PAD_OID)) + return KeyWrapAlgorithm.AES_CBC_PAD; + +- if (oid.equals(KeyWrapAlgorithm.DES_CBC_PAD_OID)) ++ if (oid.equals(KeyWrapAlgorithm.DES3_CBC_PAD_OID)) + return KeyWrapAlgorithm.DES3_CBC_PAD; + + throw new NoSuchAlgorithmException(wrapOID); +diff --git a/base/util/src/netscape/security/util/WrappingParams.java b/base/util/src/netscape/security/util/WrappingParams.java +index f1ebc95..b0d4600 100644 +--- a/base/util/src/netscape/security/util/WrappingParams.java ++++ b/base/util/src/netscape/security/util/WrappingParams.java +@@ -67,7 +67,7 @@ public class WrappingParams { + // New clients set this correctly. + // We'll assume the old DES3 wrapping here. + encrypt = EncryptionAlgorithm.DES_CBC_PAD; +- } else if (encryptOID.equals(KeyWrapAlgorithm.DES_CBC_PAD_OID.toString())) { ++ } else if (encryptOID.equals(KeyWrapAlgorithm.DES3_CBC_PAD_OID.toString())) { + encrypt = EncryptionAlgorithm.DES3_CBC_PAD; + } else if (encryptOID.equals(KeyWrapAlgorithm.AES_CBC_PAD_OID.toString())) { + encrypt = EncryptionAlgorithm.AES_128_CBC_PAD; +-- +1.8.3.1 + + +From 78c8448064afddeefea8938f01100a03f6a10d2d Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Wed, 29 Aug 2018 16:55:31 +1000 +Subject: [PATCH 08/14] getTheSerialNumber: only return null if next range not + available + +When cloning, if the master's current number range has been depleted +due to a previous UpdateNumberRange request, +Repository.getTheSerialNumber() returns null because the next serial +number is out of the current range, but the next range has not been +activated yet. NullPointerException ensues. + +Update getTheSerialNumber() to return the next serial number even +when it exceeds the current number range, as long as there is a next +range. If there is no next range, return null (as before). It is +assumed that the next range is non-empty + +Also do a couple of drive-by method extractions to improve +readability. + +Part of: https://pagure.io/dogtagpki/issue/3055 + +(cherry picked from commit f1615df509053a8f474b82ea6a2fa0883ab06d09) +--- + .../src/com/netscape/cmscore/dbs/Repository.java | 61 ++++++++++++++++------ + 1 file changed, 44 insertions(+), 17 deletions(-) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +index afe9013..c5120c4 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +@@ -317,7 +317,15 @@ public abstract class Repository implements IRepository { + } + + /** +- * get the next serial number in cache ++ * Peek at the next serial number in cache (does not consume the ++ * number). ++ * ++ * The returned number is not necessarily the previously emitted ++ * serial number plus one, i.e. if we are going to roll into the ++ * next range. This method does not actually switch the range. ++ * ++ * Returns null if the next number exceeds the current range and ++ * there is not a next range. + */ + public BigInteger getTheSerialNumber() throws EBaseException { + +@@ -327,7 +335,7 @@ public abstract class Repository implements IRepository { + BigInteger serial = mLastSerialNo.add(BigInteger.ONE); + + if (mMaxSerialNo != null && serial.compareTo(mMaxSerialNo) > 0) +- return null; ++ return hasNextRange() ? mNextMinSerialNo : null; + else + return serial; + } +@@ -390,9 +398,13 @@ public abstract class Repository implements IRepository { + } + + /** +- * Checks to see if range needs to be switched. ++ * Checks if the given number is in the current range. ++ * If it does not exceed the current range, return cleanly. ++ * If it exceeds the given range, and there is a next range, switch the range. ++ * If it exceeds the given range, and there is not a next range, throw EDBException. + * +- * @exception EBaseException thrown when next range is not allocated ++ * @exception EDBException thrown when range switch is needed ++ * but next range is not allocated + */ + protected void checkRange() throws EBaseException + { +@@ -413,7 +425,7 @@ public abstract class Repository implements IRepository { + + if (mDB.getEnableSerialMgmt()) { + CMS.debug("Reached the end of the range. Attempting to move to next range"); +- if ((mNextMinSerialNo == null) || (mNextMaxSerialNo == null)) { ++ if (!hasNextRange()) { + if (rangeLength != null && mCounter.compareTo(rangeLength) < 0) { + return; + } else { +@@ -421,18 +433,7 @@ public abstract class Repository implements IRepository { + mLastSerialNo.toString())); + } + } +- mMinSerialNo = mNextMinSerialNo; +- mMaxSerialNo = mNextMaxSerialNo; +- mLastSerialNo = mMinSerialNo; +- mNextMinSerialNo = null; +- mNextMaxSerialNo = null; +- mCounter = BigInteger.ZERO; +- +- // persist the changes +- mDB.setMinSerialConfig(mRepo, mMinSerialNo.toString(mRadix)); +- mDB.setMaxSerialConfig(mRepo, mMaxSerialNo.toString(mRadix)); +- mDB.setNextMinSerialConfig(mRepo, null); +- mDB.setNextMaxSerialConfig(mRepo, null); ++ switchToNextRange(); + } else { + throw new EDBException(CMS.getUserMessage("CMS_DBS_LIMIT_REACHED", + mLastSerialNo.toString())); +@@ -441,6 +442,32 @@ public abstract class Repository implements IRepository { + } + + /** ++ * Return true iff there is a next range ready to go. ++ */ ++ private boolean hasNextRange() { ++ return (mNextMinSerialNo != null) && (mNextMaxSerialNo != null); ++ } ++ ++ /** ++ * Switch to the next range and persist the changes. ++ */ ++ private void switchToNextRange() ++ throws EBaseException { ++ mMinSerialNo = mNextMinSerialNo; ++ mMaxSerialNo = mNextMaxSerialNo; ++ mLastSerialNo = mMinSerialNo; ++ mNextMinSerialNo = null; ++ mNextMaxSerialNo = null; ++ mCounter = BigInteger.ZERO; ++ ++ // persist the changes ++ mDB.setMinSerialConfig(mRepo, mMinSerialNo.toString(mRadix)); ++ mDB.setMaxSerialConfig(mRepo, mMaxSerialNo.toString(mRadix)); ++ mDB.setNextMinSerialConfig(mRepo, null); ++ mDB.setNextMaxSerialConfig(mRepo, null); ++ } ++ ++ /** + * Checks to see if a new range is needed, or if we have reached the end of the + * current range, or if a range conflict has occurred. + * +-- +1.8.3.1 + + +From 30fa68e6241763c5c117014e9e5cacc410cc3a56 Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Mon, 3 Sep 2018 15:55:35 +1000 +Subject: [PATCH 09/14] Repository: handle depleted range in initCache() + +Repository.initCache() does not handle the case where the current +range has been fully depleted, but the switch to the next range has +not occurred yet. This situation arises when the range has been +fully depleted by servicing UpdateNumberRange requests for clones. + +Detect this situation and handle it by switching to the next range +(when available). + +Part of: https://pagure.io/dogtagpki/issue/3055 + +(cherry picked from commit 2fb3611db5145dbdd5e7e14daaad1470691494f0) +--- + .../src/com/netscape/cmscore/dbs/Repository.java | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +index c5120c4..828217c 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +@@ -298,6 +298,25 @@ public abstract class Repository implements IRepository { + BigInteger theSerialNo = null; + theSerialNo = getLastSerialNumberInRange(mMinSerialNo, mMaxSerialNo); + ++ if (theSerialNo == null) { ++ // This arises when range has been depleted by servicing ++ // UpdateNumberRange requests for clones. Attempt to ++ // move to next range. ++ CMS.debug( ++ "Repository: failed to get last serial number in range " ++ + mMinSerialNo + ".." + mMaxSerialNo); ++ ++ if (hasNextRange()) { ++ CMS.debug("Repository: switching to next range."); ++ switchToNextRange(); ++ CMS.debug("Repository: new range: " + mMinSerialNo + ".." + mMaxSerialNo); ++ // try again with updated range ++ theSerialNo = getLastSerialNumberInRange(mMinSerialNo, mMaxSerialNo); ++ } else { ++ CMS.debug("Repository: next range not available."); ++ } ++ } ++ + if (theSerialNo != null) { + + mLastSerialNo = new BigInteger(theSerialNo.toString()); +-- +1.8.3.1 + + +From 920187e48e4971069ac114a3a41a5be79578f17c Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Wed, 29 Aug 2018 17:31:34 +1000 +Subject: [PATCH 10/14] rename method getTheSerialNumber -> + peekNextSerialNumber + +Rename Repository.getTheSerialNumber -> peekNextSerialNumber to more +accurately reflect what it does: peek at the next serial number +without actually consuming it. + +Part of: https://pagure.io/dogtagpki/issue/3055 + +(cherry picked from commit 85e356580f64f87c0b01736b71dc3d385db0bcba) +--- + base/ca/src/com/netscape/ca/CertificateAuthority.java | 2 +- + base/common/src/com/netscape/certsrv/dbs/repository/IRepository.java | 2 +- + .../cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java | 2 +- + base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/base/ca/src/com/netscape/ca/CertificateAuthority.java b/base/ca/src/com/netscape/ca/CertificateAuthority.java +index 0281db0..f414628 100644 +--- a/base/ca/src/com/netscape/ca/CertificateAuthority.java ++++ b/base/ca/src/com/netscape/ca/CertificateAuthority.java +@@ -1077,7 +1077,7 @@ public class CertificateAuthority + public String getStartSerial() { + try { + BigInteger serial = +- mCertRepot.getTheSerialNumber(); ++ mCertRepot.peekNextSerialNumber(); + + if (serial == null) + return ""; +diff --git a/base/common/src/com/netscape/certsrv/dbs/repository/IRepository.java b/base/common/src/com/netscape/certsrv/dbs/repository/IRepository.java +index 39744ac..d0b6135 100644 +--- a/base/common/src/com/netscape/certsrv/dbs/repository/IRepository.java ++++ b/base/common/src/com/netscape/certsrv/dbs/repository/IRepository.java +@@ -50,7 +50,7 @@ public interface IRepository { + * @return serial number + * @exception EBaseException failed to retrieve next serial number + */ +- public BigInteger getTheSerialNumber() throws EBaseException; ++ public BigInteger peekNextSerialNumber() throws EBaseException; + + /** + * Set the maximum serial number. +diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java +index 2586da2..e5b5168 100644 +--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java ++++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java +@@ -187,7 +187,7 @@ public class UpdateNumberRange extends CMSServlet { + BigInteger decrement = new BigInteger(decrementStr, radix); + beginNum = endNum.subtract(decrement).add(oneNum); + +- if (beginNum.compareTo(repo.getTheSerialNumber()) < 0) { ++ if (beginNum.compareTo(repo.peekNextSerialNumber()) < 0) { + String nextEndNumStr = cs.getString(nextEndConfig, ""); + BigInteger endNum2 = new BigInteger(nextEndNumStr, radix); + CMS.debug("Transferring from the end of on-deck range"); +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +index 828217c..55068ea 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +@@ -346,7 +346,7 @@ public abstract class Repository implements IRepository { + * Returns null if the next number exceeds the current range and + * there is not a next range. + */ +- public BigInteger getTheSerialNumber() throws EBaseException { ++ public BigInteger peekNextSerialNumber() throws EBaseException { + + CMS.debug("Repository:In getTheSerialNumber "); + if (mLastSerialNo == null) +-- +1.8.3.1 + + +From 60e78b19edb91b5d7130f591dec5232f30877871 Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Wed, 29 Aug 2018 21:42:40 +1000 +Subject: [PATCH 11/14] checkRange: small refactor and add commentary + +Add some commentary about the behaviour and proper usage of +Repository.checkRange(). Also perform a small refactor, avoiding +a redundant stringify and parse. + +Part of: https://pagure.io/dogtagpki/issue/3055 + +(cherry picked from commit 5a606e83719272fb488047b28a9ca7d5ce2ea30b) +--- + .../src/com/netscape/cmscore/dbs/Repository.java | 19 +++++++++++++++---- + 1 file changed, 15 insertions(+), 4 deletions(-) + +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +index 55068ea..9bc7e2a 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +@@ -406,14 +406,17 @@ public abstract class Repository implements IRepository { + throw new EBaseException("mLastSerialNo is null"); + } + ++ /* Advance the serial number. checkRange() will check if it exceeds ++ * the current range and, if so, rolls to the next range and resets ++ * mLastSerialNo to the start of the new range. Hence we return ++ * mLastSerialNo below, after the call to checkRange(). ++ */ + mLastSerialNo = mLastSerialNo.add(BigInteger.ONE); + + checkRange(); + +- BigInteger retSerial = new BigInteger(mLastSerialNo.toString()); +- +- CMS.debug("Repository: getNextSerialNumber: returning retSerial " + retSerial); +- return retSerial; ++ CMS.debug("Repository: getNextSerialNumber: returning " + mLastSerialNo); ++ return mLastSerialNo; + } + + /** +@@ -422,6 +425,14 @@ public abstract class Repository implements IRepository { + * If it exceeds the given range, and there is a next range, switch the range. + * If it exceeds the given range, and there is not a next range, throw EDBException. + * ++ * Precondition: the serial number should already have been advanced. ++ * This method will detect that and switch to the next range, including ++ * resetting mLastSerialNo to the start of the new (now current) range. ++ * ++ * Postcondition: the caller should again read mLastSerialNo after ++ * calling checkRange(), in case checkRange switched the range and the ++ * new range is not adjacent to the current range. ++ * + * @exception EDBException thrown when range switch is needed + * but next range is not allocated + */ +-- +1.8.3.1 + + +From a2c05cef94753ee1914aeb9c1b88789a322d4015 Mon Sep 17 00:00:00 2001 +From: Fraser Tweedale +Date: Wed, 29 Aug 2018 22:22:10 +1000 +Subject: [PATCH 12/14] Add missing synchronisation for range management + +Several methods in Repository (and CertificateRepository) need +synchronisation on the intrisic lock. Make these methods +synchronised. + +Also take the lock in UpdateNumberRange so that no serial numbers +can be handed out in other threads between peekNextSerialNumber() +and set(Next)?MaxSerial(). Without this synchronisation, it is +possible that the master instance will use some of the serial +numbers it transfers to the clone. + +Fixes: https://pagure.io/dogtagpki/issue/3055 +(cherry picked from commit 851a0bdd79c12c627a04cfc376338c1727cd50d9) +--- + .../cms/servlet/csadmin/UpdateNumberRange.java | 35 +++++++----- + .../cmscore/dbs/CertificateRepository.java | 62 ++++++++++------------ + .../src/com/netscape/cmscore/dbs/Repository.java | 6 +-- + 3 files changed, 53 insertions(+), 50 deletions(-) + +diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java +index e5b5168..c2ff7ed 100644 +--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java ++++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/UpdateNumberRange.java +@@ -187,20 +187,27 @@ public class UpdateNumberRange extends CMSServlet { + BigInteger decrement = new BigInteger(decrementStr, radix); + beginNum = endNum.subtract(decrement).add(oneNum); + +- if (beginNum.compareTo(repo.peekNextSerialNumber()) < 0) { +- String nextEndNumStr = cs.getString(nextEndConfig, ""); +- BigInteger endNum2 = new BigInteger(nextEndNumStr, radix); +- CMS.debug("Transferring from the end of on-deck range"); +- String newValStr = endNum2.subtract(decrement).toString(radix); +- repo.setNextMaxSerial(newValStr); +- cs.putString(nextEndConfig, newValStr); +- beginNum = endNum2.subtract(decrement).add(oneNum); +- endNum = endNum2; +- } else { +- CMS.debug("Transferring from the end of the current range"); +- String newValStr = beginNum.subtract(oneNum).toString(radix); +- repo.setMaxSerial(newValStr); +- cs.putString(endNumConfig, newValStr); ++ /* We need to synchronise on repo because we peek the next ++ * serial number, then set the max serial of the current or ++ * next range. If we don't synchronize, we could end up ++ * using serial numbers that were transferred. ++ */ ++ synchronized (repo) { ++ if (beginNum.compareTo(repo.peekNextSerialNumber()) < 0) { ++ String nextEndNumStr = cs.getString(nextEndConfig, ""); ++ BigInteger endNum2 = new BigInteger(nextEndNumStr, radix); ++ CMS.debug("Transferring from the end of on-deck range"); ++ String newValStr = endNum2.subtract(decrement).toString(radix); ++ repo.setNextMaxSerial(newValStr); ++ cs.putString(nextEndConfig, newValStr); ++ beginNum = endNum2.subtract(decrement).add(oneNum); ++ endNum = endNum2; ++ } else { ++ CMS.debug("Transferring from the end of the current range"); ++ String newValStr = beginNum.subtract(oneNum).toString(radix); ++ repo.setMaxSerial(newValStr); ++ cs.putString(endNumConfig, newValStr); ++ } + } + + if (beginNum == null) { +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java +index 367917f..94087c8 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/CertificateRepository.java +@@ -251,49 +251,45 @@ public class CertificateRepository extends Repository + return nextSerialNumber; + } + +- private Object nextSerialNumberMonitor = new Object(); +- +- public BigInteger getNextSerialNumber() throws ++ public synchronized BigInteger getNextSerialNumber() throws + EBaseException { + + BigInteger nextSerialNumber = null; + BigInteger randomNumber = null; + +- synchronized (nextSerialNumberMonitor) { +- super.initCacheIfNeeded(); +- CMS.debug("CertificateRepository: getNextSerialNumber mEnableRandomSerialNumbers="+mEnableRandomSerialNumbers); ++ super.initCacheIfNeeded(); ++ CMS.debug("CertificateRepository: getNextSerialNumber mEnableRandomSerialNumbers="+mEnableRandomSerialNumbers); + +- if (mEnableRandomSerialNumbers) { +- int i = 0; +- do { +- if (i > 0) { +- CMS.debug("CertificateRepository: getNextSerialNumber regenerating serial number"); +- } +- randomNumber = getRandomNumber(); +- nextSerialNumber = getRandomSerialNumber(randomNumber); +- nextSerialNumber = checkSerialNumbers(randomNumber, nextSerialNumber); +- i++; +- } while (nextSerialNumber == null && i < mMaxCollisionRecoveryRegenerations); +- +- if (nextSerialNumber == null) { +- CMS.debug("CertificateRepository: in getNextSerialNumber nextSerialNumber is null"); +- throw new EBaseException( "nextSerialNumber is null" ); ++ if (mEnableRandomSerialNumbers) { ++ int i = 0; ++ do { ++ if (i > 0) { ++ CMS.debug("CertificateRepository: getNextSerialNumber regenerating serial number"); + } ++ randomNumber = getRandomNumber(); ++ nextSerialNumber = getRandomSerialNumber(randomNumber); ++ nextSerialNumber = checkSerialNumbers(randomNumber, nextSerialNumber); ++ i++; ++ } while (nextSerialNumber == null && i < mMaxCollisionRecoveryRegenerations); + +- if (mCounter.compareTo(BigInteger.ZERO) >= 0 && +- mMinSerialNo != null && mMaxSerialNo != null && +- nextSerialNumber != null && +- nextSerialNumber.compareTo(mMinSerialNo) >= 0 && +- nextSerialNumber.compareTo(mMaxSerialNo) <= 0) { +- mCounter = mCounter.add(BigInteger.ONE); +- } +- CMS.debug("CertificateRepository: getNextSerialNumber nextSerialNumber="+ +- nextSerialNumber+" mCounter="+mCounter); ++ if (nextSerialNumber == null) { ++ CMS.debug("CertificateRepository: in getNextSerialNumber nextSerialNumber is null"); ++ throw new EBaseException( "nextSerialNumber is null" ); ++ } + +- super.checkRange(); +- } else { +- nextSerialNumber = super.getNextSerialNumber(); ++ if (mCounter.compareTo(BigInteger.ZERO) >= 0 && ++ mMinSerialNo != null && mMaxSerialNo != null && ++ nextSerialNumber != null && ++ nextSerialNumber.compareTo(mMinSerialNo) >= 0 && ++ nextSerialNumber.compareTo(mMaxSerialNo) <= 0) { ++ mCounter = mCounter.add(BigInteger.ONE); + } ++ CMS.debug("CertificateRepository: getNextSerialNumber nextSerialNumber="+ ++ nextSerialNumber+" mCounter="+mCounter); ++ ++ super.checkRange(); ++ } else { ++ nextSerialNumber = super.getNextSerialNumber(); + } + + return nextSerialNumber; +diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +index 9bc7e2a..c31d376 100644 +--- a/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java ++++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/Repository.java +@@ -185,7 +185,7 @@ public abstract class Repository implements IRepository { + * @param serial maximum number + * @exception EBaseException failed to set maximum serial number + */ +- public void setMaxSerial(String serial) throws EBaseException { ++ public synchronized void setMaxSerial(String serial) throws EBaseException { + BigInteger maxSerial = null; + CMS.debug("Repository:setMaxSerial " + serial); + +@@ -211,7 +211,7 @@ public abstract class Repository implements IRepository { + * @param serial maximum number in next range + * @exception EBaseException failed to set maximum serial number in next range + */ +- public void setNextMaxSerial(String serial) throws EBaseException { ++ public synchronized void setNextMaxSerial(String serial) throws EBaseException { + BigInteger maxSerial = null; + CMS.debug("Repository:setNextMaxSerial " + serial); + +@@ -346,7 +346,7 @@ public abstract class Repository implements IRepository { + * Returns null if the next number exceeds the current range and + * there is not a next range. + */ +- public BigInteger peekNextSerialNumber() throws EBaseException { ++ public synchronized BigInteger peekNextSerialNumber() throws EBaseException { + + CMS.debug("Repository:In getTheSerialNumber "); + if (mLastSerialNo == null) +-- +1.8.3.1 + + +From 2fb237853c3f730f4f96141d9710d1394de5649d Mon Sep 17 00:00:00 2001 +From: "Endi S. Dewata" +Date: Fri, 20 Sep 2019 10:59:07 -0500 +Subject: [PATCH 13/14] Replaced "Advanced Search" with "Filter" in TPS UI + +(cherry picked from commit df3ece37320c2de7db025aa172c2344b07a55483) +--- + base/tps/shared/webapps/tps/ui/tokens.html | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/tps/shared/webapps/tps/ui/tokens.html b/base/tps/shared/webapps/tps/ui/tokens.html +index c2f6227..41d8d94 100644 +--- a/base/tps/shared/webapps/tps/ui/tokens.html ++++ b/base/tps/shared/webapps/tps/ui/tokens.html +@@ -30,7 +30,7 @@ + + + +- Advanced Search ++ Filter + + + +-- +1.8.3.1 + + +From f2186a497978b778a808e6ad892bfd4180acf8a6 Mon Sep 17 00:00:00 2001 +From: Jack Magne +Date: Fri, 20 Sep 2019 20:20:13 -0400 +Subject: [PATCH 14/14] Fix Bug 1534013 - Attempting to add new keys using a + PUT KEY APDU to a token that is loaded only with the default/factory keys + (Key Version Number 0xFF) returns an APDU with error code 0x6A88. + +The token returns 0x6A88 (Referenced data not found) because sending it a key version number of 1, implies that the token already has a key with key version 1. In the case of a token with only default/factory keys with version 0xFF, the key with version #1 is not present. + +Giving zero as the key version number in the APDU specifically tells the token to add a new key, with a new key version number. A non-zero key version number instructs the card to replace an existing key. If the existing key is not present then an error occurs. + +(cherry picked from commit 19bb64a98881e4651126bcdc544e3fa04ea989ea) +--- + base/tps/src/org/dogtagpki/server/tps/channel/SecureChannel.java | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/base/tps/src/org/dogtagpki/server/tps/channel/SecureChannel.java b/base/tps/src/org/dogtagpki/server/tps/channel/SecureChannel.java +index cb08970..7369e58 100644 +--- a/base/tps/src/org/dogtagpki/server/tps/channel/SecureChannel.java ++++ b/base/tps/src/org/dogtagpki/server/tps/channel/SecureChannel.java +@@ -1558,8 +1558,8 @@ public class SecureChannel { + byte keyVersion = curVersion; + + if (curVersion == (byte) 0xff) { +- CMS.debug("Setting keyVersion to 1"); +- keyVersion = 0x1; ++ CMS.debug("Setting keyVersion to 0"); ++ keyVersion = 0x0; + } + + CMS.debug("keyVersion now set to: " + keyVersion); +-- +1.8.3.1 + diff --git a/SPECS/pki-core.spec b/SPECS/pki-core.spec new file mode 100644 index 0000000..507bd5a --- /dev/null +++ b/SPECS/pki-core.spec @@ -0,0 +1,3945 @@ +# Python, keep every statement on a single line +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} + +%if 0%{?fedora} || 0%{?rhel} > 7 +%global with_python3 1 +%else +%global with_python3 0 +%endif + +%if 0%{?rhel} +# Package RHEL-specific RPMS Only +%global package_rhel_packages 1 +# Package RHCS-specific RPMS Only +%global package_rhcs_packages 0 +%define pki_core_rhel_version 10.5.17 +%else +# Fedora always packages all RPMS +%global package_fedora_packages 1 +%endif + +# Java +%define java_home /usr/lib/jvm/jre-1.8.0-openjdk + +# Tomcat +%if 0%{?fedora} || 0%{?rhel} > 7 +%define with_tomcat7 0 +%define with_tomcat8 1 +%else +%define with_tomcat7 1 +%define with_tomcat8 0 +%endif + +# RESTEasy +%if 0%{?rhel} && 0%{?rhel} <= 7 +%define jaxrs_api_jar /usr/share/java/resteasy-base/jaxrs-api.jar +%define resteasy_lib /usr/share/java/resteasy-base +%else +%define jaxrs_api_jar /usr/share/java/jboss-jaxrs-2.0-api.jar +%define resteasy_lib /usr/share/java/resteasy +%endif + +# Dogtag +%bcond_without server +%bcond_without javadoc + +# ignore unpackaged files from native 'tpsclient' +# REMINDER: Remove this '%%define' once 'tpsclient' is rewritten as a Java app +%define _unpackaged_files_terminate_build 0 + +# pkiuser and group. The uid and gid are preallocated +# see /usr/share/doc/setup/uidgid +%define pki_username pkiuser +%define pki_uid 17 +%define pki_groupname pkiuser +%define pki_gid 17 +%define pki_homedir /usr/share/pki + +# Optionally fetch the release from the environment variable 'PKI_RELEASE' +%define use_pki_release %{getenv:USE_PKI_RELEASE} +%if 0%{?use_pki_release} +%define pki_release %{getenv:PKI_RELEASE} +%endif + +Name: pki-core +%if 0%{?rhel} +Version: 10.5.17 +%define redhat_release 4 +%define redhat_stage 0 +#%define default_release %{redhat_release}.%{redhat_stage} +%define default_release %{redhat_release} +%else +Version: 10.5.17 +%define fedora_release 4 +%define fedora_stage 0 +#%define default_release %{fedora_release}.%{fedora_stage} +%define default_release %{fedora_release} +%endif + +%if 0%{?use_pki_release} +Release: %{pki_release}%{?dist} +%else +Release: %{default_release}%{?dist} +%endif + +Summary: Certificate System - PKI Core Components +URL: http://pki.fedoraproject.org/ +License: GPLv2 +Group: System Environment/Daemons + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: cmake >= 2.8.9-1 +BuildRequires: gcc-c++ +BuildRequires: zip +BuildRequires: java-1.8.0-openjdk-devel +BuildRequires: redhat-rpm-config +BuildRequires: ldapjdk >= 4.19-5 +BuildRequires: apache-commons-cli +BuildRequires: apache-commons-codec +BuildRequires: apache-commons-io +BuildRequires: apache-commons-lang +BuildRequires: jakarta-commons-httpclient +BuildRequires: slf4j +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: slf4j-jdk14 +%endif +BuildRequires: nspr-devel +BuildRequires: nss-devel >= 3.28.3 + +%if 0%{?rhel} && 0%{?rhel} <= 7 +BuildRequires: nuxwdog-client-java >= 1.0.5-1 +%else +BuildRequires: nuxwdog-client-java >= 1.0.3-14 +%endif + +BuildRequires: openldap-devel +BuildRequires: pkgconfig +BuildRequires: policycoreutils +BuildRequires: python-lxml +BuildRequires: python-sphinx +BuildRequires: velocity +BuildRequires: xalan-j2 +BuildRequires: xerces-j2 + +%if 0%{?rhel} && 0%{?rhel} <= 7 +# 'resteasy-base' is a subset of the complete set of +# 'resteasy' packages and consists of what is needed to +# support the PKI Restful interface on certain RHEL platforms +BuildRequires: resteasy-base-atom-provider >= 3.0.6-1 +BuildRequires: resteasy-base-client >= 3.0.6-1 +BuildRequires: resteasy-base-jaxb-provider >= 3.0.6-1 +BuildRequires: resteasy-base-jaxrs >= 3.0.6-1 +BuildRequires: resteasy-base-jaxrs-api >= 3.0.6-1 +BuildRequires: resteasy-base-jackson-provider >= 3.0.6-1 +%else +BuildRequires: jboss-annotations-1.2-api +BuildRequires: jboss-jaxrs-2.0-api +BuildRequires: jboss-logging +BuildRequires: resteasy-atom-provider >= 3.0.17-1 +BuildRequires: resteasy-client >= 3.0.17-1 +BuildRequires: resteasy-jaxb-provider >= 3.0.17-1 +BuildRequires: resteasy-core >= 3.0.17-1 +BuildRequires: resteasy-jackson-provider >= 3.0.17-1 +%endif + +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: pylint +BuildRequires: python-flake8 >= 2.5.4 +BuildRequires: python3-flake8 >= 2.5.4 +# python-flake8 2.5.4 package should require pyflakes >= 1.2.3 +BuildRequires: pyflakes >= 1.2.3 +# python3-flake8 2.5.4 package should require python3-pyflakes >= 1.2.3 +BuildRequires: python3-pyflakes >= 1.2.3 +%endif + +BuildRequires: python2-cryptography +BuildRequires: python-nss +BuildRequires: python-requests >= 2.6.0 +BuildRequires: python-six +BuildRequires: libselinux-python +BuildRequires: policycoreutils-python +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: policycoreutils-python-utils +%endif +BuildRequires: python-ldap +BuildRequires: junit +BuildRequires: jpackage-utils >= 0:1.7.5-10 +BuildRequires: jss >= 4.4.7-1 +%if 0%{?rhel} && 0%{?rhel} <= 7 +BuildRequires: tomcatjss >= 7.2.5-1 +%else +BuildRequires: tomcatjss >= 7.2.4-4 +%endif +BuildRequires: systemd-units + +%if 0%{?with_python3} +BuildRequires: python3-cryptography +BuildRequires: python3-devel +BuildRequires: python3-lxml +BuildRequires: python3-nss +BuildRequires: python3-pyldap +BuildRequires: python3-requests >= 2.6.0 +BuildRequires: python3-six +%endif # with_python3 +BuildRequires: python-devel + +# additional build requirements needed to build native 'tpsclient' +# REMINDER: Revisit these once 'tpsclient' is rewritten as a Java app +BuildRequires: apr-devel +BuildRequires: apr-util-devel +BuildRequires: cyrus-sasl-devel +BuildRequires: httpd-devel >= 2.4.2 +BuildRequires: pcre-devel +BuildRequires: python +BuildRequires: systemd +BuildRequires: zlib +BuildRequires: zlib-devel + +%if 0%{?rhel} +# NOTE: In the future, as a part of its path, this URL will contain a release +# directory which consists of the fixed number of the upstream release +# upon which this tarball was originally based. +Source0: http://pki.fedoraproject.org/pki/sources/%{name}/%{version}/%{release}/rhel/%{name}-%{version}%{?prerel}.tar.gz +%else +Source0: http://pki.fedoraproject.org/pki/sources/%{name}/%{version}/%{release}/%{name}-%{version}%{?prerel}.tar.gz +%endif + +Patch0: pki-core-rhel-7-8-rhcs-9-6-alpha.patch +Patch1: pki-core-rhel-7-8-rhcs-9-6-beta.patch + +# Obtain version phase number (e. g. - used by "alpha", "beta", etc.) +# +# NOTE: For "alpha" releases, will be ".a1", ".a2", etc. +# For "beta" releases, will be ".b1", ".b2", etc. +# +%define version_phase "%(echo `echo %{version} | awk -F. '{ print $4 }'`)" + +%global saveFileContext() \ +if [ -s /etc/selinux/config ]; then \ + . %{_sysconfdir}/selinux/config; \ + FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \ + if [ "${SELINUXTYPE}" == %1 -a -f ${FILE_CONTEXT} ]; then \ + cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.%{name}; \ + fi \ +fi; + +%global relabel() \ +. %{_sysconfdir}/selinux/config; \ +FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \ +selinuxenabled; \ +if [ $? == 0 -a "${SELINUXTYPE}" == %1 -a -f ${FILE_CONTEXT}.%{name} ]; then \ + fixfiles -C ${FILE_CONTEXT}.%{name} restore; \ + rm -f ${FILE_CONTEXT}.%name; \ +fi; + +%global overview \ +================================== \ +|| ABOUT "CERTIFICATE SYSTEM" || \ +================================== \ + \ +Certificate System (CS) is an enterprise software system designed \ +to manage enterprise Public Key Infrastructure (PKI) deployments. \ + \ +PKI Core contains ALL top-level java-based Tomcat PKI components: \ + \ + * pki-symkey \ + * pki-base \ + * pki-base-python2 (alias for pki-base) \ + * pki-base-python3 \ + * pki-base-java \ + * pki-tools \ + * pki-server \ + * pki-ca \ + * pki-kra \ + * pki-ocsp \ + * pki-tks \ + * pki-tps \ + * pki-javadoc \ + \ +which comprise the following corresponding PKI subsystems: \ + \ + * Certificate Authority (CA) \ + * Key Recovery Authority (KRA) \ + * Online Certificate Status Protocol (OCSP) Manager \ + * Token Key Service (TKS) \ + * Token Processing Service (TPS) \ + \ +Python clients need only install the pki-base package. This \ +package contains the python REST client packages and the client \ +upgrade framework. \ + \ +Java clients should install the pki-base-java package. This package \ +contains the legacy and REST Java client packages. These clients \ +should also consider installing the pki-tools package, which contain \ +native and Java-based PKI tools and utilities. \ + \ +Certificate Server instances require the fundamental classes and \ +modules in pki-base and pki-base-java, as well as the utilities in \ +pki-tools. The main server classes are in pki-server, with subsystem \ +specific Java classes and resources in pki-ca, pki-kra, pki-ocsp etc. \ + \ +Finally, if Certificate System is being deployed as an individual or \ +set of standalone rather than embedded server(s)/service(s), it is \ +strongly recommended (though not explicitly required) to include at \ +least one PKI Theme package: \ + \ + * dogtag-pki-theme (Dogtag Certificate System deployments) \ + * dogtag-pki-server-theme \ + * redhat-pki-server-theme (Red Hat Certificate System deployments) \ + * redhat-pki-server-theme \ + * customized pki theme (Customized Certificate System deployments) \ + * -pki-server-theme \ + \ + NOTE: As a convenience for standalone deployments, top-level meta \ + packages may be provided which bind a particular theme to \ + these certificate server packages. \ + \ +%{nil} + +%description %{overview} + + +%package -n pki-symkey +Summary: Symmetric Key JNI Package +Group: System Environment/Libraries + +Requires: java-1.8.0-openjdk-headless +Requires: jpackage-utils >= 0:1.7.5-10 +Requires: jss >= 4.4.7-1 +Requires: nss >= 3.28.3 + +Provides: symkey = %{version}-%{release} + +Obsoletes: symkey < %{version}-%{release} + +%if 0%{?rhel} && 0%{?rhel} <= 7 +## Because RHCS 9.0 does not run on RHEL 7.3+, obsolete all +## RHCS 9.0 packages that can be replaced by RHCS 9.1 packages: +# pki-console +Obsoletes: pki-console < 10.3.0 +# pki-core +Obsoletes: pki-core-debug = 10.2.6 +Obsoletes: pki-ocsp < 10.3.0 +Obsoletes: pki-tks < 10.3.0 +Obsoletes: pki-tps < 10.3.0 +# redhat-pki +Obsoletes: redhat-pki < 10.3.0 +# redhat-pki-theme +Obsoletes: redhat-pki-console-theme < 10.3.0 +Obsoletes: redhat-pki-server-theme < 10.3.0 +%endif + +%description -n pki-symkey +The Symmetric Key Java Native Interface (JNI) package supplies various native +symmetric key operations to Java programs. + +This package is a part of the PKI Core used by the Certificate System. + +%{overview} + + +%package -n pki-base +Summary: Certificate System - PKI Framework +Group: System Environment/Base + +BuildArch: noarch + +Provides: pki-common = %{version}-%{release} +Provides: pki-util = %{version}-%{release} +Provides: pki-base-python2 = %{version}-%{release} + +Obsoletes: pki-common < %{version}-%{release} +Obsoletes: pki-util < %{version}-%{release} + +Conflicts: freeipa-server < 3.0.0 + +Requires: nss >= 3.28.3 +Requires: python2-cryptography +Requires: python-nss +Requires: python-requests >= 2.6.0 +Requires: python-six + +%description -n pki-base +The PKI Framework contains the common and client libraries and utilities +written in Python. This package is a part of the PKI Core used by the +Certificate System. + +%{overview} + +%package -n pki-base-java +Summary: Certificate System - Java Framework +Group: System Environment/Base +BuildArch: noarch + +Requires: java-1.8.0-openjdk-headless +Requires: apache-commons-cli +Requires: apache-commons-codec +Requires: apache-commons-io +Requires: apache-commons-lang +Requires: apache-commons-logging +Requires: jakarta-commons-httpclient +Requires: slf4j +%if 0%{?fedora} || 0%{?rhel} > 7 +Requires: slf4j-jdk14 +%endif +Requires: javassist +Requires: jpackage-utils >= 0:1.7.5-10 +Requires: jss >= 4.4.7-1 +Requires: ldapjdk >= 4.19-5 +Requires: pki-base = %{version}-%{release} + +%if 0%{?rhel} && 0%{?rhel} <= 7 +# 'resteasy-base' is a subset of the complete set of +# 'resteasy' packages and consists of what is needed to +# support the PKI Restful interface on certain RHEL platforms +Requires: resteasy-base-atom-provider >= 3.0.6-1 +Requires: resteasy-base-client >= 3.0.6-1 +Requires: resteasy-base-jaxb-provider >= 3.0.6-1 +Requires: resteasy-base-jaxrs >= 3.0.6-1 +Requires: resteasy-base-jaxrs-api >= 3.0.6-1 +Requires: resteasy-base-jackson-provider >= 3.0.6-1 +%else +Requires: resteasy-atom-provider >= 3.0.17-1 +Requires: resteasy-client >= 3.0.17-1 +Requires: resteasy-jaxb-provider >= 3.0.17-1 +Requires: resteasy-core >= 3.0.17-1 +Requires: resteasy-jackson-provider >= 3.0.17-1 +%endif + +Requires: xalan-j2 +Requires: xerces-j2 +Requires: xml-commons-apis +Requires: xml-commons-resolver + +%description -n pki-base-java +The PKI Framework contains the common and client libraries and utilities +written in Java. This package is a part of the PKI Core used by the +Certificate System. + +This package is a part of the PKI Core used by the Certificate System. + +%{overview} + +%if 0%{?with_python3} + +%package -n pki-base-python3 +Summary: Certificate System - PKI Framework +Group: System Environment/Base + +BuildArch: noarch + +Requires: pki-base = %{version}-%{release} + +Requires: python3-cryptography +Requires: python3-lxml +Requires: python3-nss +Requires: python3-requests >= 2.6.0 +Requires: python3-six + +%description -n pki-base-python3 +This package contains PKI client library for Python 3. + +This package is a part of the PKI Core used by the Certificate System. + +%{overview} + +%endif # with_python3 for python3-pki + +%package -n pki-tools +Summary: Certificate System - PKI Tools +Group: System Environment/Base + +Provides: pki-native-tools = %{version}-%{release} +Provides: pki-java-tools = %{version}-%{release} + +Obsoletes: pki-native-tools < %{version}-%{release} +Obsoletes: pki-java-tools < %{version}-%{release} + +Requires: openldap-clients +Requires: nss-tools >= 3.28.3 +Requires: java-1.8.0-openjdk-headless +Requires: pki-base = %{version}-%{release} +Requires: pki-base-java = %{version}-%{release} +Requires: jpackage-utils >= 0:1.7.5-10 +%if 0%{?fedora} || 0%{?rhel} > 7 +Requires: tomcat-servlet-3.1-api +%endif + +%description -n pki-tools +This package contains PKI executables that can be used to help make +Certificate System into a more complete and robust PKI solution. + +This package is a part of the PKI Core used by the Certificate System. + +%{overview} + + +%if %{with server} + +%package -n pki-server +Summary: Certificate System - PKI Server Framework +Group: System Environment/Base + +BuildArch: noarch + +Provides: pki-deploy = %{version}-%{release} +Provides: pki-setup = %{version}-%{release} +Provides: pki-silent = %{version}-%{release} + +Obsoletes: pki-deploy < %{version}-%{release} +Obsoletes: pki-setup < %{version}-%{release} +Obsoletes: pki-silent < %{version}-%{release} + +Requires: java-1.8.0-openjdk-headless +Requires: hostname +Requires: net-tools + +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires: nuxwdog-client-java >= 1.0.5-1 +%else +Requires: nuxwdog-client-java >= 1.0.3-14 +%endif + +Requires: policycoreutils +Requires: procps-ng +Requires: openldap-clients +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires: openssl >= 1.0.2k-11 +%else +Requires: openssl +%endif +Requires: pki-base = %{version}-%{release} +Requires: pki-base-java = %{version}-%{release} +Requires: pki-tools = %{version}-%{release} +Requires: python-ldap +Requires: python-lxml +Requires: libselinux-python +Requires: policycoreutils-python +%if 0%{?fedora} || 0%{?rhel} > 7 +Requires: policycoreutils-python-utils +%endif + +Requires: selinux-policy-targeted >= 3.13.1-159 +Obsoletes: pki-selinux + +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires: tomcat >= 7.0.69 +%else +Requires: tomcat >= 7.0.68 +Requires: tomcat-el-3.0-api +Requires: tomcat-jsp-2.3-api +Requires: tomcat-servlet-3.1-api +%endif + +Requires: velocity +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +Requires(pre): shadow-utils +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires: tomcatjss >= 7.2.5-1 +%else +Requires: tomcatjss >= 7.2.4-4 +%endif + +%if 0%{?rhel} && 0%{?rhel} <= 7 +## Because RHCS 9.0 does not run on RHEL 7.3+, obsolete all +## RHCS 9.0 packages that can be replaced by RHCS 9.1 packages: +# pki-console +Obsoletes: pki-console < 10.3.0 +# pki-core +Obsoletes: pki-core-debug = 10.2.6 +Obsoletes: pki-ocsp < 10.3.0 +Obsoletes: pki-tks < 10.3.0 +Obsoletes: pki-tps < 10.3.0 +# redhat-pki +Obsoletes: redhat-pki < 10.3.0 +# redhat-pki-theme +Obsoletes: redhat-pki-console-theme < 10.3.0 +Obsoletes: redhat-pki-server-theme < 10.3.0 +%endif + +%description -n pki-server +The PKI Server Framework is required by the following four PKI subsystems: + + the Certificate Authority (CA), + the Key Recovery Authority (KRA), + the Online Certificate Status Protocol (OCSP) Manager, + the Token Key Service (TKS), and + the Token Processing Service (TPS). + +This package is a part of the PKI Core used by the Certificate System. +The package contains scripts to create and remove PKI subsystems. + +%{overview} + +%package -n pki-ca +Summary: Certificate System - Certificate Authority +Group: System Environment/Daemons + +BuildArch: noarch + +Requires: java-1.8.0-openjdk-headless +Requires: pki-server = %{version}-%{release} +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description -n pki-ca +The Certificate Authority (CA) is a required PKI subsystem which issues, +renews, revokes, and publishes certificates as well as compiling and +publishing Certificate Revocation Lists (CRLs). + +The Certificate Authority can be configured as a self-signing Certificate +Authority, where it is the root CA, or it can act as a subordinate CA, +where it obtains its own signing certificate from a public CA. + +This package is one of the top-level java-based Tomcat PKI subsystems +provided by the PKI Core used by the Certificate System. + +%{overview} + + +%package -n pki-kra +Summary: Certificate System - Key Recovery Authority +Group: System Environment/Daemons + +BuildArch: noarch + +Requires: java-1.8.0-openjdk-headless +Requires: pki-server = %{version}-%{release} +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description -n pki-kra +The Key Recovery Authority (KRA) is an optional PKI subsystem that can act +as a key archival facility. When configured in conjunction with the +Certificate Authority (CA), the KRA stores private encryption keys as part of +the certificate enrollment process. The key archival mechanism is triggered +when a user enrolls in the PKI and creates the certificate request. Using the +Certificate Request Message Format (CRMF) request format, a request is +generated for the user's private encryption key. This key is then stored in +the KRA which is configured to store keys in an encrypted format that can only +be decrypted by several agents requesting the key at one time, providing for +protection of the public encryption keys for the users in the PKI deployment. + +Note that the KRA archives encryption keys; it does NOT archive signing keys, +since such archival would undermine non-repudiation properties of signing keys. + +This package is one of the top-level java-based Tomcat PKI subsystems +provided by the PKI Core used by the Certificate System. + +%{overview} + + +%package -n pki-ocsp +Summary: Certificate System - Online Certificate Status Protocol Manager +Group: System Environment/Daemons + +BuildArch: noarch + +Requires: java-1.8.0-openjdk-headless +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +Requires: pki-server = %{version}-%{release} +%else +Requires: pki-server >= %{pki_core_rhel_version} +%endif +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description -n pki-ocsp +The Online Certificate Status Protocol (OCSP) Manager is an optional PKI +subsystem that can act as a stand-alone OCSP service. The OCSP Manager +performs the task of an online certificate validation authority by enabling +OCSP-compliant clients to do real-time verification of certificates. Note +that an online certificate-validation authority is often referred to as an +OCSP Responder. + +Although the Certificate Authority (CA) is already configured with an +internal OCSP service. An external OCSP Responder is offered as a separate +subsystem in case the user wants the OCSP service provided outside of a +firewall while the CA resides inside of a firewall, or to take the load of +requests off of the CA. + +The OCSP Manager can receive Certificate Revocation Lists (CRLs) from +multiple CA servers, and clients can query the OCSP Manager for the +revocation status of certificates issued by all of these CA servers. + +When an instance of OCSP Manager is set up with an instance of CA, and +publishing is set up to this OCSP Manager, CRLs are published to it +whenever they are issued or updated. + +This package is one of the top-level java-based Tomcat PKI subsystems +provided by the PKI Core used by the Certificate System. + +%{overview} + + +%package -n pki-tks +Summary: Certificate System - Token Key Service +Group: System Environment/Daemons + +BuildArch: noarch + +Requires: java-1.8.0-openjdk-headless +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +Requires: pki-server = %{version}-%{release} +Requires: pki-symkey = %{version}-%{release} +%else +Requires: pki-server >= %{pki_core_rhel_version} +Requires: pki-symkey >= %{pki_core_rhel_version} +%endif +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +%description -n pki-tks +The Token Key Service (TKS) is an optional PKI subsystem that manages the +master key(s) and the transport key(s) required to generate and distribute +keys for hardware tokens. TKS provides the security between tokens and an +instance of Token Processing System (TPS), where the security relies upon the +relationship between the master key and the token keys. A TPS communicates +with a TKS over SSL using client authentication. + +TKS helps establish a secure channel (signed and encrypted) between the token +and the TPS, provides proof of presence of the security token during +enrollment, and supports key changeover when the master key changes on the +TKS. Tokens with older keys will get new token keys. + +Because of the sensitivity of the data that TKS manages, TKS should be set up +behind the firewall with restricted access. + +This package is one of the top-level java-based Tomcat PKI subsystems +provided by the PKI Core used by the Certificate System. + +%{overview} + + +%package -n pki-tps +Summary: Certificate System - Token Processing Service +Group: System Environment/Daemons + +Provides: pki-tps-tomcat +Provides: pki-tps-client + +Obsoletes: pki-tps-tomcat +Obsoletes: pki-tps-client + +Requires: java-1.8.0-openjdk-headless +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +Requires: pki-server = %{version}-%{release} +%else +Requires: pki-server >= %{pki_core_rhel_version} +%endif +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +# additional runtime requirements needed to run native 'tpsclient' +# REMINDER: Revisit these once 'tpsclient' is rewritten as a Java app + +Requires: nss-tools >= 3.28.3 +Requires: openldap-clients +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +Requires: pki-symkey = %{version}-%{release} +%else +Requires: pki-symkey >= %{pki_core_rhel_version} +%endif + +%description -n pki-tps +The Token Processing System (TPS) is an optional PKI subsystem that acts +as a Registration Authority (RA) for authenticating and processing +enrollment requests, PIN reset requests, and formatting requests from +the Enterprise Security Client (ESC). + +TPS is designed to communicate with tokens that conform to +Global Platform's Open Platform Specification. + +TPS communicates over SSL with various PKI backend subsystems (including +the Certificate Authority (CA), the Key Recovery Authority (KRA), and the +Token Key Service (TKS)) to fulfill the user's requests. + +TPS also interacts with the token database, an LDAP server that stores +information about individual tokens. + +The utility "tpsclient" is a test tool that interacts with TPS. This +tool is useful to test TPS server configs without risking an actual +smart card. + +%{overview} + + +%package -n pki-javadoc +Summary: Certificate System - PKI Framework Javadocs +Group: Documentation + +BuildArch: noarch + +Provides: pki-util-javadoc = %{version}-%{release} +Provides: pki-java-tools-javadoc = %{version}-%{release} +Provides: pki-common-javadoc = %{version}-%{release} + +Obsoletes: pki-util-javadoc < %{version}-%{release} +Obsoletes: pki-java-tools-javadoc < %{version}-%{release} +Obsoletes: pki-common-javadoc < %{version}-%{release} + +%description -n pki-javadoc +This documentation pertains exclusively to version %{version} of +the PKI Framework and Tools. + +This package is a part of the PKI Core used by the Certificate System. + +%{overview} + +%endif # %{with server} + + +%prep +%setup -q -n %{name}-%{version}%{?prerel} + +%patch0 -p1 +%patch1 -p1 + +%clean +%{__rm} -rf %{buildroot} + +%build +%{__mkdir_p} build +cd build +%cmake \ + --no-warn-unused-cli \ + -DVERSION=%{version}-%{release} \ + -DVAR_INSTALL_DIR:PATH=/var \ + -DBUILD_PKI_CORE:BOOL=ON \ + -DJAVA_HOME=%{java_home} \ + -DJAVA_LIB_INSTALL_DIR=%{_jnidir} \ + -DSYSTEMD_LIB_INSTALL_DIR=%{_unitdir} \ +%if %{version_phase} + -DAPPLICATION_VERSION_PHASE="%{version_phase}" \ +%endif +%if ! %{with_tomcat7} + -DWITH_TOMCAT7:BOOL=OFF \ +%endif +%if ! %{with_tomcat8} + -DWITH_TOMCAT8:BOOL=OFF \ +%endif + -DJAXRS_API_JAR=%{jaxrs_api_jar} \ + -DRESTEASY_LIB=%{resteasy_lib} \ +%if ! %{with server} + -DWITH_SERVER:BOOL=OFF \ +%endif +%if ! %{with server} + -DWITH_SERVER:BOOL=OFF \ +%endif +%if ! %{with javadoc} + -DWITH_JAVADOC:BOOL=OFF \ +%endif + .. + +%install + +cd build + +# Do not use _smp_mflags to preserve build order +%{__make} \ + VERBOSE=%{?_verbose} \ + CMAKE_NO_VERBOSE=1 \ + DESTDIR=%{buildroot} \ + INSTALL="install -p" \ + --no-print-directory \ + all unit-test install + +# Create symlinks for admin console (TPS does not use admin console) +for subsystem in ca kra ocsp tks; do + %{__mkdir_p} %{buildroot}%{_datadir}/pki/$subsystem/webapps/$subsystem/admin + ln -s %{_datadir}/pki/server/webapps/pki/admin/console %{buildroot}%{_datadir}/pki/$subsystem/webapps/$subsystem/admin +done + +# Create compatibility symlink for DRMTool -> KRATool +ln -s %{_bindir}/KRATool %{buildroot}%{_bindir}/DRMTool +# Create compatibility symlink for DRMTool.cfg -> KRATool.cfg +ln -s %{_datadir}/pki/java-tools/KRATool.cfg %{buildroot}%{_datadir}/pki/java-tools/DRMTool.cfg +# Create compatibility symlink for DRMTool.1.gz -> KRATool.1.gz +ln -s %{_mandir}/man1/KRATool.1.gz %{buildroot}%{_mandir}/man1/DRMTool.1.gz + +# Customize client library links in /usr/share/pki/lib +%if 0%{?fedora} || 0%{?rhel} > 7 + rm -f %{buildroot}%{_datadir}/pki/lib/scannotation.jar + rm -f %{buildroot}%{_datadir}/pki/lib/resteasy-jaxrs-api.jar + rm -f %{buildroot}%{_datadir}/pki/lib/resteasy-jaxrs-jandex.jar + ln -sf %{jaxrs_api_jar} %{buildroot}%{_datadir}/pki/lib/jboss-jaxrs-2.0-api.jar + ln -sf /usr/share/java/jboss-logging/jboss-logging.jar %{buildroot}%{_datadir}/pki/lib/jboss-logging.jar + ln -sf /usr/share/java/jboss-annotations-1.2-api/jboss-annotations-api_1.2_spec.jar %{buildroot}%{_datadir}/pki/lib/jboss-annotations-api_1.2_spec.jar +%else + +if [ -f /etc/debian_version ]; then + ln -sf /usr/share/java/httpclient.jar %{buildroot}%{_datadir}/pki/lib/httpclient.jar + ln -sf /usr/share/java/httpcore.jar %{buildroot}%{_datadir}/pki/lib/httpcore.jar + ln -sf /usr/share/java/jackson-core-asl.jar %{buildroot}%{_datadir}/pki/lib/jackson-core-asl.jar + ln -sf /usr/share/java/jackson-jaxrs.jar %{buildroot}%{_datadir}/pki/lib/jackson-jaxrs.jar + ln -sf /usr/share/java/jackson-mapper-asl.jar %{buildroot}%{_datadir}/pki/lib/jackson-mapper-asl.jar + ln -sf /usr/share/java/jackson-mrbean.jar %{buildroot}%{_datadir}/pki/lib/jackson-mrbean.jar + ln -sf /usr/share/java/jackson-smile.jar %{buildroot}%{_datadir}/pki/lib/jackson-smile.jar + ln -sf /usr/share/java/jackson-xc.jar %{buildroot}%{_datadir}/pki/lib/jackson-xc.jar + ln -sf /usr/share/java/jss4.jar %{buildroot}%{_datadir}/pki/lib/jss4.jar +fi + +%endif + +%if %{with server} + +# Customize server upgrade scripts in /usr/share/pki/server/upgrade +%if 0%{?rhel} && 0%{?rhel} <= 7 + +# merge newer upgrade scripts into 10.3.3 for RHEL +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.3.5/01-FixServerLibrary \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.3.3/02-FixServerLibrary +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.3.5/02-FixDeploymentDescriptor \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.3.3/03-FixDeploymentDescriptor +/bin/rm -rf %{buildroot}%{_datadir}/pki/server/upgrade/10.3.5 + +# merge newer upgrade scripts into 10.4.1 for RHEL +%{__mkdir_p} %{buildroot}%{_datadir}/pki/server/upgrade/10.4.1 +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.4.2/01-AddSessionAuthenticationPlugin \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.4.1/01-AddSessionAuthenticationPlugin +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.4.2/02-AddKRAWrappingParams \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.4.1/02-AddKRAWrappingParams +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.4.6/01-UpdateKeepAliveTimeout \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.4.1/03-UpdateKeepAliveTimeout +/bin/rm -rf %{buildroot}%{_datadir}/pki/server/upgrade/10.4.2 +/bin/rm -rf %{buildroot}%{_datadir}/pki/server/upgrade/10.4.6 + +# merge newer upgrade scripts into 10.5.1 for RHEL 7.5 +%{__mkdir_p} %{buildroot}%{_datadir}/pki/server/upgrade/10.5.1 +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.5.5/01-AddTPSExternalRegISEtokenParams \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.5.1/01-AddTPSExternalRegISEtokenParams +/bin/rm -rf %{buildroot}%{_datadir}/pki/server/upgrade/10.5.5 + +# merge newer upgrade scripts into 10.5.9 for RHEL 7.6 +%{__mkdir_p} %{buildroot}%{_datadir}/pki/server/upgrade/10.5.9 +mv %{buildroot}%{_datadir}/pki/server/upgrade/10.5.14/01-UpdateAuditEvents \ + %{buildroot}%{_datadir}/pki/server/upgrade/10.5.9/01-UpdateAuditEvents +/bin/rm -rf %{buildroot}%{_datadir}/pki/server/upgrade/10.5.14 + +%endif + +# Customize server library links in /usr/share/pki/server/common/lib +%if 0%{?fedora} || 0%{?rhel} > 7 + rm -f %{buildroot}%{_datadir}/pki/server/common/lib/scannotation.jar + rm -f %{buildroot}%{_datadir}/pki/server/common/lib/resteasy-jaxrs-api.jar + ln -sf %{jaxrs_api_jar} %{buildroot}%{_datadir}/pki/server/common/lib/jboss-jaxrs-2.0-api.jar + ln -sf /usr/share/java/jboss-logging/jboss-logging.jar %{buildroot}%{_datadir}/pki/server/common/lib/jboss-logging.jar + ln -sf /usr/share/java/jboss-annotations-1.2-api/jboss-annotations-api_1.2_spec.jar %{buildroot}%{_datadir}/pki/server/common/lib/jboss-annotations-api_1.2_spec.jar + +%else + +if [ -f /etc/debian_version ]; then + ln -sf /usr/share/java/commons-collections3.jar %{buildroot}%{_datadir}/pki/server/common/lib/commons-collections.jar + ln -sf /usr/share/java/httpclient.jar %{buildroot}%{_datadir}/pki/server/common/lib/httpclient.jar + ln -sf /usr/share/java/httpcore.jar %{buildroot}%{_datadir}/pki/server/common/lib/httpcore.jar + ln -sf /usr/share/java/jackson-core-asl.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-core-asl.jar + ln -sf /usr/share/java/jackson-jaxrs.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-jaxrs.jar + ln -sf /usr/share/java/jackson-mapper-asl.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-mapper-asl.jar + ln -sf /usr/share/java/jackson-mrbean.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-mrbean.jar + ln -sf /usr/share/java/jackson-smile.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-smile.jar + ln -sf /usr/share/java/jackson-xc.jar %{buildroot}%{_datadir}/pki/server/common/lib/jackson-xc.jar + ln -sf /usr/share/java/jss4.jar %{buildroot}%{_datadir}/pki/server/common/lib/jss4.jar + ln -sf /usr/share/java/symkey.jar %{buildroot}%{_datadir}/pki/server/common/lib/symkey.jar + ln -sf /usr/share/java/xercesImpl.jar %{buildroot}%{_datadir}/pki/server/common/lib/xerces-j2.jar + ln -sf /usr/share/java/xml-apis.jar %{buildroot}%{_datadir}/pki/server/common/lib/xml-commons-apis.jar + ln -sf /usr/share/java/xml-resolver.jar %{buildroot}%{_datadir}/pki/server/common/lib/xml-commons-resolver.jar +fi + +%endif + +%if 0%{?fedora} || 0%{?rhel} > 7 +# Scanning the python code with pylint. +%{__python2} ../pylint-build-scan.py rpm --prefix %{buildroot} +if [ $? -ne 0 ]; then + echo "pylint failed. RC: $?" + exit 1 +fi + +%{__python2} ../pylint-build-scan.py rpm --prefix %{buildroot} -- --py3k +if [ $? -ne 0 ]; then + echo "pylint --py3k failed. RC: $?" + exit 1 +fi + +flake8 --config ../tox.ini %{buildroot} +if [ $? -ne 0 ]; then + echo "flake8 for Python 2 failed. RC: $?" + exit 1 +fi + +python3-flake8 --config ../tox.ini %{buildroot} +if [ $? -ne 0 ]; then + echo "flake8 for Python 3 failed. RC: $?" + exit 1 +fi + +%endif + +%{__rm} -rf %{buildroot}%{_datadir}/pki/server/lib + +%endif # %{with server} + +%{__mkdir_p} %{buildroot}%{_localstatedir}/log/pki +%{__mkdir_p} %{buildroot}%{_sharedstatedir}/pki + +%if 0%{?fedora} || 0%{?rhel} > 7 +%pretrans -n pki-base -p +function test(a) + if posix.stat(a) then + for f in posix.files(a) do + if f~=".." and f~="." then + return true + end + end + end + return false +end + +if (test("/etc/sysconfig/pki/ca") or + test("/etc/sysconfig/pki/kra") or + test("/etc/sysconfig/pki/ocsp") or + test("/etc/sysconfig/pki/tks")) then + msg = "Unable to upgrade to Fedora 20. There are Dogtag 9 instances\n" .. + "that will no longer work since they require Tomcat 6, and \n" .. + "Tomcat 6 is no longer available in Fedora 20.\n\n" .. + "Please follow these instructions to migrate the instances to \n" .. + "Dogtag 10:\n\n" .. + "http://pki.fedoraproject.org/wiki/Migrating_Dogtag_9_Instances_to_Dogtag_10" + error(msg) +end +%endif + +%if %{with server} + +%pre -n pki-server +getent group %{pki_groupname} >/dev/null || groupadd -f -g %{pki_gid} -r %{pki_groupname} +if ! getent passwd %{pki_username} >/dev/null ; then + if ! getent passwd %{pki_uid} >/dev/null ; then + useradd -r -u %{pki_uid} -g %{pki_groupname} -d %{pki_homedir} -s /sbin/nologin -c "Certificate System" %{pki_username} + else + useradd -r -g %{pki_groupname} -d %{pki_homedir} -s /sbin/nologin -c "Certificate System" %{pki_username} + fi +fi +exit 0 + +%endif # %{with server} + +%post -n pki-base + +if [ $1 -eq 1 ] +then + # On RPM installation create system upgrade tracker + echo "Configuration-Version: %{version}" > %{_sysconfdir}/pki/pki.version + +else + # On RPM upgrade run system upgrade + echo "Upgrading PKI system configuration at `/bin/date`." >> /var/log/pki/pki-upgrade-%{version}.log 2>&1 + /sbin/pki-upgrade --silent >> /var/log/pki/pki-upgrade-%{version}.log 2>&1 + echo >> /var/log/pki/pki-upgrade-%{version}.log 2>&1 +fi + +%postun -n pki-base + +if [ $1 -eq 0 ] +then + # On RPM uninstallation remove system upgrade tracker + rm -f %{_sysconfdir}/pki/pki.version +fi + +%if %{with server} + +%post -n pki-server +## NOTE: At this time, NO attempt has been made to update ANY PKI subsystem +## from EITHER 'sysVinit' OR previous 'systemd' processes to the new +## PKI deployment process + +echo "Upgrading PKI server configuration at `/bin/date`." >> /var/log/pki/pki-server-upgrade-%{version}.log 2>&1 +/sbin/pki-server-upgrade --silent >> /var/log/pki/pki-server-upgrade-%{version}.log 2>&1 +echo >> /var/log/pki/pki-server-upgrade-%{version}.log 2>&1 + +# Migrate Tomcat configuration +/sbin/pki-server migrate >> /var/log/pki/pki-server-upgrade-%{version}.log 2>&1 +echo >> /var/log/pki/pki-server-upgrade-%{version}.log 2>&1 + +# Reload systemd daemons on upgrade only +if [ "$1" == "2" ] +then + systemctl daemon-reload +fi + +## %preun -n pki-server +## NOTE: At this time, NO attempt has been made to update ANY PKI subsystem +## from EITHER 'sysVinit' OR previous 'systemd' processes to the new +## PKI deployment process + + +## %postun -n pki-server +## NOTE: At this time, NO attempt has been made to update ANY PKI subsystem +## from EITHER 'sysVinit' OR previous 'systemd' processes to the new +## PKI deployment process + +%endif # %{with server} + + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-symkey +%defattr(-,root,root,-) +%doc base/symkey/LICENSE +%{_jnidir}/symkey.jar +%{_libdir}/symkey/ +%endif + + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-base +%defattr(-,root,root,-) +%doc base/common/LICENSE +%doc base/common/LICENSE.LESSER +%doc %{_datadir}/doc/pki-base/html +%dir %{_datadir}/pki +%{_datadir}/pki/VERSION +%{_datadir}/pki/etc/ +%{_datadir}/pki/upgrade/ +%{_datadir}/pki/key/templates +%dir %{_sysconfdir}/pki +%config(noreplace) %{_sysconfdir}/pki/pki.conf +%exclude %{python2_sitelib}/pki/server +%{python2_sitelib}/pki +%dir %{_localstatedir}/log/pki +%{_sbindir}/pki-upgrade +%{_mandir}/man1/pki-python-client.1.gz +%{_mandir}/man5/pki-logging.5.gz +%{_mandir}/man8/pki-upgrade.8.gz +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-base-java +%{_datadir}/pki/examples/java/ +%{_datadir}/pki/lib/ +%dir %{_javadir}/pki +%{_javadir}/pki/pki-cmsutil.jar +%{_javadir}/pki/pki-nsutil.jar +%{_javadir}/pki/pki-certsrv.jar +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%if %{with_python3} +%files -n pki-base-python3 +%defattr(-,root,root,-) +%doc base/common/LICENSE +%doc base/common/LICENSE.LESSER +%exclude %{python3_sitelib}/pki/server +%{python3_sitelib}/pki +%endif # with_python3 +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-tools +%defattr(-,root,root,-) +%doc base/native-tools/LICENSE base/native-tools/doc/README +%{_bindir}/pki +%{_bindir}/p7tool +%{_bindir}/pistool +%{_bindir}/revoker +%{_bindir}/setpin +%{_bindir}/sslget +%{_bindir}/tkstool +%{_datadir}/pki/native-tools/ +%{_bindir}/AtoB +%{_bindir}/AuditVerify +%{_bindir}/BtoA +%{_bindir}/CMCEnroll +%{_bindir}/CMCRequest +%{_bindir}/CMCResponse +%{_bindir}/CMCRevoke +%{_bindir}/CMCSharedToken +%{_bindir}/CRMFPopClient +%{_bindir}/DRMTool +%{_bindir}/ExtJoiner +%{_bindir}/GenExtKeyUsage +%{_bindir}/GenIssuerAltNameExt +%{_bindir}/GenSubjectAltNameExt +%{_bindir}/HttpClient +%{_bindir}/KRATool +%{_bindir}/OCSPClient +%{_bindir}/PKCS10Client +%{_bindir}/PKCS12Export +%{_bindir}/PKICertImport +%{_bindir}/PrettyPrintCert +%{_bindir}/PrettyPrintCrl +%{_bindir}/TokenInfo +%{_javadir}/pki/pki-tools.jar +%{_datadir}/pki/java-tools/ +%{_mandir}/man1/AtoB.1.gz +%{_mandir}/man1/AuditVerify.1.gz +%{_mandir}/man1/BtoA.1.gz +%{_mandir}/man1/CMCEnroll.1.gz +%{_mandir}/man1/CMCRequest.1.gz +%{_mandir}/man1/CMCResponse.1.gz +%{_mandir}/man1/CMCSharedToken.1.gz +%{_mandir}/man1/DRMTool.1.gz +%{_mandir}/man1/KRATool.1.gz +%{_mandir}/man1/PrettyPrintCert.1.gz +%{_mandir}/man1/PrettyPrintCrl.1.gz +%{_mandir}/man1/pki.1.gz +%{_mandir}/man1/pki-audit.1.gz +%{_mandir}/man1/pki-ca-kraconnector.1.gz +%{_mandir}/man1/pki-ca-profile.1.gz +%{_mandir}/man1/pki-cert.1.gz +%{_mandir}/man1/pki-client.1.gz +%{_mandir}/man1/pki-group.1.gz +%{_mandir}/man1/pki-group-member.1.gz +%{_mandir}/man1/pki-key.1.gz +%{_mandir}/man1/pki-pkcs12-cert.1.gz +%{_mandir}/man1/pki-pkcs12-key.1.gz +%{_mandir}/man1/pki-pkcs12.1.gz +%{_mandir}/man1/pki-securitydomain.1.gz +%{_mandir}/man1/pki-tps-profile.1.gz +%{_mandir}/man1/pki-user.1.gz +%{_mandir}/man1/pki-user-cert.1.gz +%{_mandir}/man1/pki-user-membership.1.gz +%{_mandir}/man1/PKCS10Client.1.gz +%{_mandir}/man1/PKICertImport.1.gz +%endif + +%if %{with server} + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-server +%defattr(-,root,root,-) +%doc base/common/THIRD_PARTY_LICENSES +%doc base/server/LICENSE +%doc base/server/README +%{_sysconfdir}/pki/default.cfg +%attr(755,-,-) %dir %{_sysconfdir}/sysconfig/pki +%attr(755,-,-) %dir %{_sysconfdir}/sysconfig/pki/tomcat +%{_sbindir}/pkispawn +%{_sbindir}/pkidestroy +%{_sbindir}/pki-server +%{_sbindir}/pki-server-nuxwdog +%{_sbindir}/pki-server-upgrade +%{python2_sitelib}/pki/server/ +%dir %{_datadir}/pki/deployment +%{_datadir}/pki/deployment/config/ +%dir %{_datadir}/pki/scripts +%{_datadir}/pki/scripts/operations +%{_bindir}/pkidaemon +%dir %{_sysconfdir}/systemd/system/pki-tomcatd.target.wants +%attr(644,-,-) %{_unitdir}/pki-tomcatd@.service +%attr(644,-,-) %{_unitdir}/pki-tomcatd.target +%dir %{_sysconfdir}/systemd/system/pki-tomcatd-nuxwdog.target.wants +%attr(644,-,-) %{_unitdir}/pki-tomcatd-nuxwdog@.service +%attr(644,-,-) %{_unitdir}/pki-tomcatd-nuxwdog.target +%{_javadir}/pki/pki-cms.jar +%{_javadir}/pki/pki-cmsbundle.jar +%{_javadir}/pki/pki-cmscore.jar +%{_javadir}/pki/pki-tomcat.jar +%dir %{_sharedstatedir}/pki +%{_mandir}/man1/pkidaemon.1.gz +%{_mandir}/man5/pki_default.cfg.5.gz +%{_mandir}/man5/pki-server-logging.5.gz +%{_mandir}/man8/pki-server-upgrade.8.gz +%{_mandir}/man8/pkidestroy.8.gz +%{_mandir}/man8/pkispawn.8.gz +%{_mandir}/man8/pki-server.8.gz +%{_mandir}/man8/pki-server-instance.8.gz +%{_mandir}/man8/pki-server-subsystem.8.gz +%{_mandir}/man8/pki-server-nuxwdog.8.gz +%{_mandir}/man8/pki-server-migrate.8.gz +%{_mandir}/man8/pki-server-cert.8.gz + +%{_datadir}/pki/setup/ +%{_datadir}/pki/server/ +%endif + + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-ca +%defattr(-,root,root,-) +%doc base/ca/LICENSE +%{_javadir}/pki/pki-ca.jar +%dir %{_datadir}/pki/ca +%{_datadir}/pki/ca/conf/ +%{_datadir}/pki/ca/emails/ +%dir %{_datadir}/pki/ca/profiles +%{_datadir}/pki/ca/profiles/ca/ +%{_datadir}/pki/ca/setup/ +%{_datadir}/pki/ca/webapps/ +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%files -n pki-kra +%defattr(-,root,root,-) +%doc base/kra/LICENSE +%{_javadir}/pki/pki-kra.jar +%dir %{_datadir}/pki/kra +%{_datadir}/pki/kra/conf/ +%{_datadir}/pki/kra/setup/ +%{_datadir}/pki/kra/webapps/ +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhcs_packages} +%files -n pki-ocsp +%defattr(-,root,root,-) +%doc base/ocsp/LICENSE +%{_javadir}/pki/pki-ocsp.jar +%dir %{_datadir}/pki/ocsp +%{_datadir}/pki/ocsp/conf/ +%{_datadir}/pki/ocsp/setup/ +%{_datadir}/pki/ocsp/webapps/ +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhcs_packages} +%files -n pki-tks +%defattr(-,root,root,-) +%doc base/tks/LICENSE +%{_javadir}/pki/pki-tks.jar +%dir %{_datadir}/pki/tks +%{_datadir}/pki/tks/conf/ +%{_datadir}/pki/tks/setup/ +%{_datadir}/pki/tks/webapps/ +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhcs_packages} +%files -n pki-tps +%defattr(-,root,root,-) +%doc base/tps/LICENSE +%{_javadir}/pki/pki-tps.jar +%dir %{_datadir}/pki/tps +%{_datadir}/pki/tps/applets/ +%{_datadir}/pki/tps/conf/ +%{_datadir}/pki/tps/setup/ +%{_datadir}/pki/tps/webapps/ +%{_mandir}/man5/pki-tps-connector.5.gz +%{_mandir}/man5/pki-tps-profile.5.gz +%{_mandir}/man1/tpsclient.1.gz +# files for native 'tpsclient' +# REMINDER: Remove this comment once 'tpsclient' is rewritten as a Java app +%{_bindir}/tpsclient +%{_libdir}/tps/libtps.so +%{_libdir}/tps/libtokendb.so +%endif + +%if 0%{?package_fedora_packages} || 0%{?package_rhel_packages} +%if %{with javadoc} +%files -n pki-javadoc +%defattr(-,root,root,-) +%{_javadocdir}/pki-%{version}/ +%endif +%endif + +%endif # %{with server} + +%changelog +* Mon Sep 30 2019 Dogtag Team 10.5.17-4 +- Include 'pistool' in the 'pki-tools' package + +* Mon Sep 23 2019 Dogtag Team 10.5.17-3 +- ########################################################################## +- # RHEL 7.8: +- ########################################################################## +- Bugzilla Bug #1445479 - KRATool does not support netkeyKeyRecovery + attribute (dmoluguw) +- Bugzilla Bug #1534013 - Attempting to add new keys using a PUT KEY APDU + to a token that is loaded only with the default/factory keys (Key Version + Number 0xFF) returns an APDU with error code 0x6A88. (jmagne) +- Bugzilla Bug #1709585 - PKI (test support) for PKCS#11 standard + AES KeyWrap for HSM support (cfu, ftweedal) +- Bugzilla Bug #1748766 - number range depletion when multiple clones + created from same master (ftweedal) +- ########################################################################## +- # RHCS 9.6: +- ########################################################################## +- # Bugzilla Bug #1520258 - TPS token search fails to find entries , LDAP filter + # on cn and tokenUserID with wildchar too broad in some cases (rhcs-maint) +- # Bugzilla Bug #1535671 - RFE to have the users be able to use the + # "Advanced Search" option on the TPS UI (edewata) + +* Mon Sep 9 2019 Dogtag Team 10.5.17-2 +- ########################################################################## +- # RHEL 7.8: +- ########################################################################## +- Bugzilla Bug #1523330 - CC: missing audit event for CS acting as TLS + client (cfu) +- Bugzilla Bug #1597727 - CA - Unable to change a certificate’s revocation + reason from superceded to key_compromised (rhcs-maint) +- ########################################################################## +- # RHCS 9.6: +- ########################################################################## +- # Bugzilla Bug #1470410 - TPS doesn't update revocation status when + # certificate already marked as unformatted/terminated/damaged (rhcs-maint) +- # Bugzilla Bug #1470433 - Add supported transitions to TPS (rhcs-maint) +- # Bugzilla Bug #1585722 - TMS - PKISocketFactory – Modify Logging to Allow + # External Use of class to work like CS8 (rhcs-maint) +- # Bugzilla Bug #1642577 - TPS – Revoked Encryption Certificates Marked as + # Active in TPS Cert LDAP During Token Key Recovery (rhcs-maint) + +* Tue Aug 13 2019 Dogtag Team 10.5.17-1 +- Updated jss, nuxwdog, and tomcatjss dependencies +- ########################################################################## +- # RHEL 7.8: +- ########################################################################## +- Bugzilla Bug #1733586 - Rebase pki-core from 10.5.16 to 10.5.17 (RHEL) +- ########################################################################## +- # RHCS 9.6: +- ########################################################################## +- # Bugzilla Bug #1718418 - Update RHCS version of CA, KRA, OCSP, and TKS so + # that it can be identified using a browser [RHCS] +- # Bugzilla Bug #1733588 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + # pki-console to 10.5.17 in RHCS 9.6 + +* Thu Jun 20 2019 Dogtag Team 10.5.16-3 +- ########################################################################## +- # RHEL 7.7: +- ########################################################################## +- Bugzilla Bug #1638379 - PKI startup initialization process should not + depend on LDAP operational attributes [ftweedal] +- ########################################################################## +- # RHCS 9.5: +- ########################################################################## +- # Bugzilla Bug #1633423 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + # pki-console to 10.5.16 in RHCS 9.5 + +* Thu Apr 4 2019 Dogtag Team 10.5.16-2 +- ########################################################################## +- # RHEL 7.7: +- ########################################################################## +- Bugzilla Bug #1491453 - Need Method to Include SKI in CA Signing + Certificate Request [ftweedal] +- ########################################################################## +- # RHCS 9.5: +- ########################################################################## +- # Bugzilla Bug #1633423 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + # pki-console to 10.5.16 in RHCS 9.5 + +* Mon Mar 18 2019 Dogtag Team 10.5.16-1 +- Updated jss dependencies +- ########################################################################## +- # RHEL 7.7: +- ########################################################################## +- Bugzilla Bug #1633422 - Rebase pki-core from 10.5.1 to 10.5.16 (RHEL) +- ########################################################################## +- # RHCS 9.5: +- ########################################################################## +- # Bugzilla Bug #1633423 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + # pki-console to 10.5.6 in RHCS 9.5 + +* Fri Feb 15 2019 Dogtag Team 10.5.9-13 +- Updated jss dependencies +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1671245 - CC: unable to verify cert before import + [rhel-7.6.z] [manpage] (ascheel) +- Bugzilla Bug #1671303 - CC: Upgrade scripts for audit event names (RHEL) + [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1671586 - CC: Upgrade scripts for audit event names (RHCS) + # [rhcs-9.4.z] (edewata) + +* Fri Feb 1 2019 Dogtag Team 10.5.9-12 +- Updated jss dependencies +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1671245 - CC: unable to verify cert before import + [rhel-7.6.z] (ascheel) +- Bugzilla Bug #1671303 - CC: Upgrade scripts for audit event names (RHEL) + [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1671586 - CC: Upgrade scripts for audit event names (RHCS) + # [rhcs-9.4.z] (edewata) + +* Thu Jan 31 2019 Dogtag Team 10.5.9-11 +- Updated jss dependencies +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1671245 - CC: unable to verify cert before import + [rhel-7.6.z] (ascheel) +- Bugzilla Bug #1671303 - CC: Upgrade scripts for audit event names (RHEL) + [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1671586 - CC: Upgrade scripts for audit event names (RHCS) + # [rhcs-9.4.z] (edewata) + +* Mon Dec 17 2018 Dogtag Team 10.5.9-10 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1659939 - CC: Simplifying Web UI session timeout + configuration [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1639836 - CC: Identify RHCS version of CA, KRA, + # OCSP, and TKS using browser [RHCS] (mharmsen) +- # Added Batch Update Information to Product Version (mharmsen) + +* Mon Dec 10 2018 Dogtag Team 10.5.9-9 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1657922 - CC: CA/OCSP startup fail on SystemCertsVerification + if enableOCSP is true [rhel-7.6.z] (jmagne) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1639836 - CC: Identify RHCS version of CA, KRA, + # OCSP, and TKS using browser [RHCS] (mharmsen) + +* Wed Dec 5 2018 Dogtag Team 10.5.9-8 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1645262 - pkidestroy may not remove all files [rhel-7.6.z] + (dmoluguw) +- Bugzilla Bug #1645263 - Auth plugins leave passwords in the access + log and audit log using REST [rhel-7.6.z] (dmoluguw) +- Bugzilla Bug #1645429 - pkispawn fails due to name collision with + /var/log/pki/ [rhel-7.6.z] (dmoluguw) +- Bugzilla Bug #1655951 - CC: tools supporting CMC requests output + keyID needs to be captured in file [rhel-7.6.z] (cfu) +- Bugzilla Bug #1656297 - Unable to install with admin-generated keys + [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1639836 - CC: Identify RHCS version of CA, KRA, + # OCSP, and TKS using browser [RHCS] (mharmsen) + +* Mon Oct 29 2018 Dogtag Team 10.5.9-7 +- Require "tomcatjss >= 7.2.1-8" as a build and runtime requirement +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1632116 - CC: missing audit event for CS acting as + TLS client [rhel-7.6.z] (cfu) +- Bugzilla Bug #1632120 - Unsupported RSA_ ciphers should be + removed from the default ciphers list [rhel-7.6.z] (cfu) +- Bugzilla Bug #1632615 - Permit certain SHA384 FIPS ciphers to be + enabled by default for RSA and ECC . . . [rhel-7.6.z] (cfu) +- Bugzilla Bug #1632616 - X500Name.directoryStringEncodingOrder + overridden by CSR encoding (coverity changes) [rhel-7.6.z] (mharmsen) +- Bugzilla Bug #1633104 - CMC: add config to allow non-clientAuth + [rhel-7.6.z] (cfu) +- Bugzilla Bug #1636490 - Installation of CA using an existing CA fails + [rhel-7.6.z] (edewata) +- Bugzilla Bug #1643878 - pki cli command for RHCS doesn't prompt for + a password [rhel-7.6.z] (edewata) +- Bugzilla Bug #1643879 - CC: Identify version/release of pki-ca, pki-kra, + pki-ocsp, pki-tks, and pki-tps remotely [RHEL] [rhel-7.6.z] (cfu, jmagne) +- Bugzilla Bug #1643880 - PKI subsystem process is not shutdown when + there is no space on the disk to write logs [rhel-7.6.z] (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1639836 - CC: Identify RHCS version of CA, KRA, + # OCSP, and TKS using browser [RHCS] (mharmsen) + +* Tue Aug 21 2018 Dogtag Team 10.5.9-6 +- Updated nuxwdog dependencies +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #673182 - ECC keys not supported for signing + audit logs (cfu) +- Bugzilla Bug #1593805 - Better understanding of + NSS_USE_DECODED_CKA_EC_POINT for ECC (cfu) +- Bugzilla Bug #1601071 - Certificate generation happens with + partial attributes in CMCRequest file (cfu) +- Bugzilla Bug #1601569 - CC: Enable all config audit events + (cfu) +- Bugzilla Bug #1608375 - CMC Revocations throws exception + with same reqIssuer & certissuer (cfu) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1557570 - Re-base pki-core from 10.5.1 to + # latest upstream 10.5.x (RHCS) (mharmsen) + +* Thu Aug 9 2018 Dogtag Team 10.5.9-5 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1596629 - ipa-replica-install --setup-kra broken on DL0 + with latest version (abokovoy) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1557570 - Re-base pki-core from 10.5.1 to + # latest upstream 10.5.x (RHCS) (mharmsen) + +* Tue Jul 31 2018 Dogtag Team 10.5.9-4 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1548203 - pki console configurations that involves ldap + passwords leave the plain text password in signed audit logs (cfu) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1494591 - keyGen fails when only Identity + # certificate exists (jmagne) + +* Mon Jul 23 2018 Dogtag Team 10.5.9-3 +- Re-spin alpha builds + +* Thu Jul 5 2018 Dogtag Team 10.5.9-2 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1471935 - X500Name.directoryStringEncodingOrder overridden + by CSR encoding (cfu) +- Bugzilla Bug #1538311 - Using a Netmask produces an odd entry in a + certificate (ftweedal) +- Bugzilla Bug #1540440 - CMC: Audit Events needed for failures in + SharedToken scenario's (cfu) +- Bugzilla Bug #1550742 - Address ECC profile overrides (cfu) +- Bugzilla Bug #1562841 - servlet profileSubmitCMCSimple throws NPE (cfu) +- Bugzilla Bug #1572432 - AuditVerify failure due to line breaks (cfu) +- Bugzilla Bug #1592961 - Need proper default subjectDN for CMC request + authenticated through SharedToken (cfu) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1557570 - Re-base pki-core from 10.5.1 to + # latest upstream 10.5.x (RHCS) (mharmsen) + +* Mon Jun 11 2018 Dogtag Team 10.5.9-1 +- ########################################################################## +- # RHEL 7.6: +- ########################################################################## +- Bugzilla Bug #1538311 - Using a Netmask produces an odd + entry in a certifcate (ftweedal) +- Bugzilla Bug #1544843 - ExternalCA: Installation failed during + csr generation with ecc (rrelyea, gkapoor) +- Bugzilla Bug #1557569 - Re-base pki-core from 10.5.1 to latest + upstream 10.5.x (RHEL) (mharmsen) +- Bugzilla Bug #1580394 - CMC CRMF requests result in + InvalidKeyFormatException when signing algorithm is ECC (cfu) +- Bugzilla Bug #1580527 - CVE-2018-1080 pki-core: Mishandled + ACL configuration in AAclAuthz.java reverses rules that allow + and deny access (ftweedal, cfu) +- Bugzilla Bug #1585866 - CRMFPopClient tool - should allow + option to do no key archival (cfu) +- Bugzilla Bug #1588655 - Cert validation for installation with + external CA cert (edewata) +- ########################################################################## +- # RHCS 9.4: +- ########################################################################## +- # Bugzilla Bug #1557570 - Re-base pki-core from 10.5.1 to + # latest upstream 10.5.x (RHCS) (mharmsen) + +* Sat Jun 9 2018 Dogtag Team 10.5.1-13.1 +- Rebuild due to build system database problem + +* Fri Jun 8 2018 Dogtag Team 10.5.1-13 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1553068 - Using a Netmask produces an odd + entry in a certifcate [rhel-7.5.z] (ftweedal) +- Bugzilla Bug #1585945 - CMC CRMF requests result in + InvalidKeyFormatException when signing algorithm is ECC + [rhel-7.5.z] (cfu) +- Bugzilla Bug #1587826 - ExternalCA: Installation failed during + csr generation with ecc [rhel-7.5.z] (rrelyea, gkapoor) +- Bugzilla Bug #1588944 - Cert validation for installation with + external CA cert [rhel-7.5.z] (edewata) +- Bugzilla Bug #1588945 - CRMFPopClient tool - should allow + option to do no key archival (cfu) +- Bugzilla Bug #1589307 - CVE-2018-1080 pki-core: Mishandled + ACL configuration in AAclAuthz.java reverses rules that allow + and deny access [rhel-7.5.z] (ftweedal, cfu) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 + +* Tue May 22 2018 Dogtag Team 10.5.1-12 +- Updated "jss" build and runtime requirements (mharmsen) +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1571582 - [MAN] Missing Man pages for tools CMCRequest, + CMCResponse, CMCSharedToken (typos) [rhel-7.5.z] (cfu) +- Bugzilla Bug #1572548 - IPA install with external-CA is failing when + FIPS mode enabled. [rhel-7.5.z] (edewata) +- Bugzilla Bug #1574848 - servlet profileSubmitCMCSimple throws NPE + [rhel-7.5.z] (cfu) +- Bugzilla Bug #1575521 - subsystem -> subsystem SSL handshake issue + with TLS_ECDHE_RSA_* on Thales HSM [rhel-7.5.z] (cfu) +- Bugzilla Bug #1581134 - ECC installation for non CA subsystems needs + improvement [rhel-7.5.z] (jmagne) +- Bugzilla Bug #1581135 - SAN in internal SSL server certificate in + pkispawn configuration step [rhel-7.5.z] (cfu) +- Bugzilla Bug #1581167 - CC: CMC profiles: Some CMC profiles have wrong + input class_id [rhel-7.5.z] (cfu) +- Bugzilla Bug #1581382 - ECDSA Certificates Generated by Certificate System + 9.3 fail NIST validation test with parameter field. [rhel-7.5.z] (cfu) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 + +* Mon Apr 9 2018 Dogtag Team 10.5.1-11 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1554726 - Need ECC-specific Enrollment Profiles for + standard conformance [rhel-7.5.z] (cfu) +- Bugzilla Bug #1557880 - [MAN] Missing Man pages for tools + CMCRequest, CMCResponse, CMCSharedToken [rhel-7.5.z] (cfu) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1560233 - libtps does not directly depend on libz + # (build failure with nss-3.35) [rhcs-9.3.z] (ftweedal) + +* Fri Mar 23 2018 Dogtag Team 10.5.1-10 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1550581 - CMCAuth throws + org.mozilla.jss.crypto.TokenException: Unable to insert certificate into + temporary database [rhel-7.5.z] (cfu) +- Bugzilla Bug #1551067 - [MAN] Add --skip-configuration + and --skip-installation into pkispawn man page. [rhel-7.5.z] (edewata) +- Bugzilla Bug #1552241 - Make sslget aware of TLSv1_2 ciphers + [rhel-7.5.z] (cheimes, mharmsen) +- Bugzilla Bug #1553068 - Using a Netmask produces an odd entry + in a certifcate [rhel-7.5.z] (ftweedal) +- Bugzilla Bug #1554726 - Need ECC-specific Enrollment Profiles for + standard conformance [rhel-7.5.z] (cfu) +- Bugzilla Bug #1554727 - Permit additional FIPS ciphers to be enabled + by default for RSA . . . [rhel-7.5.z] (mharmsen, cfu) +- Bugzilla Bug #1557880 - [MAN] Missing Man pages for tools + CMCRequest, CMCResponse, CMCSharedToken [rhel-7.5.z] (cfu) +- Bugzilla Bug #1557883 - Console: Adding ACL from pki-console gives + StringIndexOutOfBoundsException [rhel-7.5.z] (ftweedal) +- Bugzilla Bug #1558919 - Not able to generate certificate request + with ECC using pki client-cert-request [rhel-7.5.z] (akahat) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1560233 - libtps does not directly depend on libz + # (build failure with nss-3.35) [rhcs-9.3.z] (ftweedal) + +* Mon Feb 19 2018 Dogtag Team 10.5.1-9 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- # Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + # (RHEL) +- Bugzilla Bug #1445532 - CC: Audit Events: Update the default audit event + set (RHEL) (edewata) +- Bugzilla Bug #1532867 - Inconsistent key ID encoding (edewata) +- Bugzilla Bug #1540687 - CC: External OCSP Installation failure with HSM + and FIPS (edewata) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 +- # Bugzilla Bug #1404075 - CC: Audit Events: Update the default audit event + # set (RHCS) (edewata) + +* Mon Feb 12 2018 Dogtag Team 10.5.1-8 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- # Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + # (RHEL) +- Bugzilla Bug #1542210 - pki console configurations that involves ldap + passwords leave the plain text password in debug logs (jmagne) +- Bugzilla Bug #1543242 - Regression in lightweight CA key replication + (ftweedal) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 + +* Mon Feb 5 2018 Dogtag Team 10.5.1-7 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- # Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + # (RHEL) +- Bugzilla Bug #1445532 - CC: Audit Events: Update the default audit event + set (RHEL) (edewata) +- Bugzilla Bug #1522938 - CC: Missing faillure resumption detection and + audit event logging at startup (jmagne) +- Bugzilla Bug #1523410 - Unable to have non "pkiuser" owned CA instance + (alee) +- Bugzilla Bug #1525306 - CC: missing CMC request and response record + (cfu) +- Bugzilla Bug #1532933 - Installing subsystems with external CMC + certificates in HSM environment shows import error (edewata) +- Bugzilla Bug #1535797 - ExternalCA: Failures when installed with hsm + (edewata) +- Bugzilla Bug #1539125 - restrict default cipher suite to those ciphers + permitted in fips mode (mharmsen) +- Bugzilla Bug #1539198 - Inconsistent CERT_REQUEST_PROCESSED + outcomes. (edewata) +- Bugzilla Bug #1540440 - CMC: Audit Events needed for failures in + SharedToken scenario's (cfu) +- Bugzilla Bug #1541526 - CMC: Revocation works with an unknown + revRequest.issuer (cfu) +- Bugzilla Bug #1541853 - ProfileService: config values with + backslashes have backslashes removed (ftweedal) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 +- # Bugzilla Bug #1404075 - CC: Audit Events: Update the default audit + # event set (RHCS) (edewata) +- # Bugzilla Bug #1501436 - TPS CS.cfg should be reflected with the + # changes after an in-place upgrade. (jmagne) + +* Tue Jan 23 2018 Dogtag Team 10.5.1-6 +- Updated jss, nuxwdog, and openssl dependencies +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + (RHEL) +- Bugzilla Bug #1402280 - CA Cloning: Failed to update number range in + few cases (ftweedal) +- Bugzilla Bug #1428021 - CC: shared token storage and retrieval + mechanism (cfu) +- Bugzilla Bug #1447145 - CMC: cmc.popLinkWitnessRequired=false + would cause error (cfu) +- Bugzilla Bug #1498957 - pkidestroy does not work with nuxwdog + (alee) +- Bugzilla Bug #1520277 - PR_FILE_NOT_FOUND_ERROR during + pkispawn (alee) +- Bugzilla Bug #1520526 - p12 admin certificate is missing when + certificate is signed Externally (edewata) +- Bugzilla Bug #1523410 - Unable to have non "pkiuser" owned CA + instance (alee) +- Bugzilla Bug #1523443 - HAProxy rejects OCSP responses due to + missing nextupdate field (ftweedal) +- Bugzilla Bug #1526881 - Not able to setup CA with ECC (mharmsen) +- Bugzilla Bug #1532759 - pkispawn seems to be leaving our passwords + in several different files after installation completes (alee) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, + # and pki-console to 10.5.x in RHCS 9.3 + +* Mon Dec 11 2017 Dogtag Team 10.5.1-5 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + (RHEL) +- Bugzilla Bug #1466066 - CC: Secure removal of secret data storage + (jmagne) +- Bugzilla Bug #1518096 - ExternalCA: Failures in ExternalCA when tried to + setup with CMC signed certificates (cfu) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- # Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + # pki-console to 10.5.x in RHCS 9.3 + +* Mon Nov 27 2017 Dogtag Team 10.5.1-4 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + (RHEL) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- #Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + #pki-console to 10.5.x in RHCS 9.3 + +* Tue Nov 14 2017 Troy Dawson - 10.5.1-3 +- dogtagpki Pagure Issue #2853 - Cleanup spec file conditionals + +* Wed Nov 8 2017 Dogtag Team 10.5.1-2 +- Patch applying check-ins since 10.5.1-1 + +* Thu Nov 2 2017 Dogtag Team 10.5.1-1 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + (RHEL) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- #Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + #pki-console to 10.5.x in RHCS 9.3 + +* Thu Oct 19 2017 Dogtag Team 10.5.0-1 +- ########################################################################## +- # RHEL 7.5: +- ########################################################################## +- Bugzilla Bug #1473452 - Rebase pki-core to latest upstream 10.5.x release + (RHEL) +- ########################################################################## +- # RHCS 9.3: +- ########################################################################## +- #Bugzilla Bug #1471303 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + #pki-console to 10.5.x in RHCS 9.3 + +* Mon Sep 18 2017 Dogtag Team 10.4.1-15 +- #Bugzilla Bug #1492560 - ipa-replica-install --setup-kra broken on DL0 + #[rhel-7.4.z] (ftweedal) + +* Tue Sep 12 2017 Dogtag Team 10.4.1-14 +- #Require "jss >= 4.4.0-8" as a build and runtime requirement +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- # Resolves: rhbz #1486870,1485833,1487509,1490241,1491332 +- # Bugzilla Bug #1486870 - Lightweight CA key replication fails (regressions) + # [RHEL 7.4.z] (ftweedal) +- # Bugzilla Bug #1485833 - Missing CN in user signing cert would cause error + # in cmc user-signed [rhel-7.4.z] (cfu) +- # Bugzilla Bug #1487509 - pki-server-upgrade fails when upgrading from + # RHEL 7.1 [rhel-7.4.z] (ftweedal) +- # Bugzilla Bug #1490241 - PKCS12: upgrade to at least AES and SHA2 (FIPS) + # [rhel-7.4.z] (ftweedal) +- # Bugzilla Bug #1491332 - TPS UI: need to display tokenType and tokenOrigin + # for token certificates on TPS UI Server [rhel-7.4.z] (edewata) +- # dogtagpki Pagure Issue #2764 - py3: pki.key.archive_encrypted_data: + # TypeError: ... is not JSON serializable (ftweedal) +- ########################################################################## +- # RHCS 9.2: +- ########################################################################## +- # Resolves: rhbz #1486870,1485833,1487509,1490241,1491332,1482729,1462271 +- # Bugzilla Bug #1462271 - TPS incorrectly assigns "tokenOrigin" and + # "tokenType" certificate attribute for recovered certificates. (cfu) +- # Bugzilla Bug #1482729 - TPS UI: need to display tokenType and tokenOrigin + # for token certificates on TPS UI (edewata) + +* Mon Aug 21 2017 Dogtag Team 10.4.1-13 +- Resolves: rhbz #1463350 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- # Bugzilla Bug #1463350 - Access banner validation (edewata) + # [pki-core-server-access-banner-retrieval-validation.patch] + +* Wed Jul 19 2017 Dogtag Team 10.4.1-12 +- # Resolves: rhbz #1472615,1472617,1469447,1463350,1469449,1472619,1464970,1469437,1469439,1469446 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- # Bugzilla Bug #1472615 - CC: allow CA to process pre-signed CMC non-signing + # certificate requests (cfu) + # [PREVIOUS PATCH: pki-core-beta.patch] + # [PREVIOUS PATCH: pki-core-snapshot-4.patch] +- # Bugzilla Bug #1472617 - CMC: cmc.popLinkWitnessRequired=false would cause + # error (cfu) + # [PREVIOUS PATCH: pki-core-post-beta.patch] +- # Bugzilla Bug #1469447 - CC: CMC: check HTTPS client authentication cert + # against CMC signer (cfu) + # [PREVIOUS PATCH: pki-core-CMC-check-HTTPS-client-authentication-cert.patch] +- # Bugzilla Bug #1463350 - Access banner validation (edewata) + # [pki-core-server-access-banner-validation.patch] +- # Bugzilla Bug #1469449 - CC: allow CA to process pre-signed CMC renewal + # non-signing cert requests (cfu) + # [PREVIOUS PATCH: pki-core-snapshot-1.patch] + # [pki-core-pre-signed-CMC-renewal-UniqueKeyConstraint.patch] +- # Bugzilla Bug #1472619 - Platform Dependent Python Import (mharmsen) + # [pki-core-platform-dependent-python-import.patch] +- # Bugzilla Bug #1464970 - CC: CMC: replace id-cmc-statusInfo with + # id-cmc-statusInfoV2 (cfu) + # [pki-core-CMC-id-cmc-statusInfoV2.patch] +- # Bugzilla Bug #1469437 - subsystem-cert-update command lacks --cert option + # (dmoluguw) + # [pki-core-subsystem-cert-update-CLI-cert-option.patch] +- # Bugzilla Bug #1469439 - Fix Key Changeover with HSM to support SCP03 + # (jmagne) + # [pki-core-HSM-key-changeover-SCP03-support.patch] +- # Bugzilla Bug #1469446 - CC: need CMC enrollment profiles for system + # certificates (cfu) + # [pki-core-system-cert-CMC-enroll-profile.patch] + +* Mon Jul 17 2017 Dogtag Team 10.4.1-11 +- # Resolves: rhbz #1469432 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- # Bugzilla Bug #1469432 - CMC plugin default change +- # Resolves CVE-2017-7537 +- # Fixes BZ #1470948 + +* Mon Jun 19 2017 Dogtag Team 10.4.1-10 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1458043 - Key recovery on token fails with + invalid public key error on KRA (alee) +- Bugzilla Bug #1460764 - CC: CMC: check HTTPS client + authentication cert against CMC signer (cfu) +- Bugzilla Bug #1461533 - Unable to find keys in the p12 file after + deleting the any of the subsystem certs from it (ftweedal) + +* Mon Jun 12 2017 Dogtag Team 10.4.1-9 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1393633 - Creating symmetric key (sharedSecret) + using tkstool is failing when RHEL 7.3 is in FIPS mode. (jmagne) +- Bugzilla Bug #1419756 - CC: allow CA to process pre-signed CMC + non-signing certificate requests (cfu) +- Bugzilla Bug #1419777 - CC: allow CA to process pre-signed CMC + revocation non-signing cert requests (cfu) +- Bugzilla Bug #1458047 - change the way aes clients refer to + aes keysets (alee) +- Bugzilla Bug #1458055 - dont reuse IVs in the CMC code + (alee) +- Bugzilla Bug #1460028 - In keywrap mode, key recovery on + KRA with HSM causes KRA to crash (ftweedal) + +* Mon Jun 5 2017 Dogtag Team 10.4.1-8 +- Require "selinux-policy-targeted >= 3.13.1-159" as a runtime requirement +- Require "tomcatjss >= 7.2.1-4" as a build and runtime requirement +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1400149 - pkispawn fails to create CA subsystem on FIPS + enabled system (edewata) +- Bugzilla Bug #1447144 - CA brought down during separate KRA instance + creation (edewata) +- Bugzilla Bug #1447762 - pkispawn fails occasionally with this failure + ACCESS_SESSION_ESTABLISH_FAILURE (edewata) +- Bugzilla Bug #1454450 - SubCA installation failure with 2 step + installation in fips enabled mode (edewata) +- Bugzilla Bug #1456597 - Certificate import using pki client-cert-import + is asking for password when already provided (edewata) +- Bugzilla Bug #1456940 - Build failure due to Pylint issues (cheimes) +- Bugzilla Bug #1458043 - Key recovery using externalReg fails + with java null pointer exception on KRA (alee) +- Bugzilla Bug #1458379 - Upgrade script for keepAliveTimeout parameter + (edewata) +- Bugzilla Bug #1458429 - client-cert-import --ca-cert should + import CA cert with trust bits "CT,C,C" (edewata) +- ########################################################################## +- # RHCS 9.2: +- ########################################################################## +- Bugzilla Bug #1274086 - [RFE] Add SCP03 support (RHCS) (jmagne) + +* Tue May 30 2017 Dogtag Team 10.4.1-7 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1393633 - Creating symmetric key (sharedSecret) + using tkstool is failing when RHEL 7.3 is in FIPS mode. (jmagne) +- Bugzilla Bug #1445519 - CA Server installation with HSM fails + (jmagne) +- Bugzilla Bug #1452617 - Unable to create IPA Sub CA + (ftweedal) +- Bugzilla Bug #1454471 - Enabling all subsystems on startup + (edewata) +- Bugzilla Bug #1455617 - Key recovery on token fails because + key record is not marked encrypted (alee) + +* Tue May 23 2017 Dogtag Team 10.4.1-6 +- Bugzilla Bug #1454603 - Unable to install IPA server due to pkispawn error + (mharmsen) + +* Mon May 22 2017 Dogtag Team 10.4.1-5 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1419761 - CC: allow CA to process pre-signed CMC renewal + non-signing cert requests (cfu) +- Bugzilla Bug #1447080 - CC: CMC: allow enrollment key signed (self-signed) + CMC with identity proof (cfu) +- Bugzilla Bug #1447144 - CA brought down during separate KRA instance + creation (mharmsen) +- Bugzilla Bug #1448903 - exception Invalid module "--ignore-banner" when + defined in ~/.dogtag/pki.conf and run pki pkcs12-import --help (edewata) +- Bugzilla Bug #1450143 - CA installation with HSM in FIPS mode fails (jmagne) +- Bugzilla Bug #1452123 - CA CS.cfg shows default port (mharmsen) +- Bugzilla Bug #1452250 - Inconsistent CERT_REQUEST_PROCESSED event in + ConnectorServlet. (edewata) +- Bugzilla Bug #1452340 - Ensuring common audit log correctness (edewata) +- Bugzilla Bug #1452344 - Adding serial number into CERT_REQUEST_PROCESSED + audit event. (edewata) + +* Tue May 9 2017 Dogtag Team 10.4.1-4 +- ########################################################################## +- # RHEL 7.4: +- ########################################################################## +- Bugzilla Bug #1386303 - cannot extract generated private key from KRA when + HSM is used. (alee) +- Bugzilla Bug #1446364 - pkispawn returns before tomcat is ready (cheimes) +- Bugzilla Bug #1447145 - CMC: cmc.popLinkWitnessRequired=false would cause + error (cfu) +- Bugzilla Bug #1448203 - CAInfoService: retrieve KRA-related values from + the KRA (ftweedal) +- Bugzilla Bug #1448204 - pkispawn of clone install fails with + InvalidBERException (ftweedal) +- Bugzilla Bug #1448521 - kra unable to extract symmetric keys generated on + thales hsm (alee) +- Updated "jss" build and runtime requirements (mharmsen) +- ########################################################################## +- # RHCS 9.2: +- ########################################################################## +- Bugzilla Bug #1274086 - [RFE] Add SCP03 support (RHCS) (jmagne) + +* Mon May 1 2017 Dogtag Team 10.4.1-3 +- ############################################################################ +- # RHEL 7.4: +- ############################################################################ +- Bugzilla Bug #1303683 - dogtag should support GSSAPI based auth in + conjuction with FreeIPA (ftweedal) +- Bugzilla Bug #1385208 - RHCS 9.1 RC5 CA in the certificate profiles the + startTime parameter is not working as expected. (jmagne) +- Bugzilla Bug #1419756 - CC: allow CA to process pre-signed CMC non-signing + certificate requests (cfu) +- Bugzilla Bug #1426754 - PKCS12: upgrade to at least AES and SHA2 (ftweedal) +- Bugzilla Bug #1445088 - profile modification cannot remove existing config + parameters (ftweedal) +- Bugzilla Bug #1445535 - CC: Crypto Operation (AES Encryption/Decryption) + (RHEL) (alee) +- Bugzilla Bug #1446874 - Missing ClientIP and ServerIP in audit log when + pki CLI terminates SSL connection (edewata) +- Bugzilla Bug #1446875 - Session timeout for PKI console (RHEL) (edewata) +- ############################################################################ +- # RHCS 9.2: +- ############################################################################ +- Bugzilla Bug #1404480 - CC: Crypto Operation (AES Encryption/Decryption) + (RHCS) (alee) + +* Mon Apr 17 2017 Dogtag Team 10.4.1-2 +- ############################################################################ +- # RHEL 7.4: +- ############################################################################ +- Bugzilla Bug #1282504 - Installing pki-server in container reports + scriptlet failed, exit status 1 (jpazdziora) +- Bugzilla Bug #1400149 - pkispawn fails to create CA subsystem on FIPS + enabled system (edewata) +- Bugzilla Bug #1410650 - [RFE] Add SCP03 support + for sc 7 g & d cards (RHEL) (jmagne) +- Bugzilla Bug #1437591 - cli authentication using expired cert throws an + exception (edewata) +- Bugzilla Bug #1437602 - non-CA cli looks for CA in the instance during a + request (edewata) +- ############################################################################ +- # RHCS 9.2: +- ############################################################################ +- Bugzilla Bug #1274086 - [RFE] Add SCP03 support + for sc 7 g & d cards (RHCS) (jmagne) +- ############################################################################ +- # Common Criteria +- ############################################################################ +- Bugzilla Bug #1404080 - CC: add audit event: various SSL/TLS failures + (edewata) +- Bugzilla Bug #1417307 - CC: Audit Review /Searches (edewata) +- Bugzilla Bug #1419737 - CC: CMC: id-cmc-popLinkWitnessV2 feature + implementation (cfu) + +* Mon Mar 27 2017 Dogtag Team 10.4.1-1 +- Require "nss >= 3.28.3" as a build and runtime requirement +- Require "jss >= 4.4.0-4" as a build and runtime requirement +- Require "tomcatjss >= 7.2.1-3" as a build and runtime requirement +- dogtagpki Pagure Issue #2612 - Unable to clone due to pki pkcs12-cert-find + failure (edewata) +- ############################################################################ +- Bugzilla Bug #1394309 - Rebase pki-core to 10.4.x in RHEL-7.4 +- Bugzilla Bug #1394315 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + pki-console to 10.4.x +- ############################################################################ +- # RHEL 7.4: +- ############################################################################ +- ############################################################################ +- # RHCS 9.2: +- ############################################################################ +- ############################################################################ +- # Common Criteria +- ############################################################################ +- Bugzilla Bug #1419734 - CC: CMC: id-cmc-identityProofV2 feature + implementation (cfu) +- Bugzilla Bug #1419742 - CC: CMC: provide Proof of Possession for encryption + cert requests (cfu) +- Bugzilla Bug #1404080 - CC: add audit event: various SSL/TLS failures + (edewata) +- Bugzilla Bug #1428020 - CC: CMC feature support: provided issuance + protection cert mechanism (cfu) + +* Tue Mar 14 2017 Dogtag Team 10.4.0-1 +- Require "jss >= 4.4.0-1" as a build and runtime requirement +- Require "tomcatjss >= 7.2.1-1" as a build and runtime requirement +- ############################################################################ +- Bugzilla Bug #1394309 - Rebase pki-core to 10.4.x in RHEL-7.4 +- Bugzilla Bug #1394315 - Rebase redhat-pki, redhat-pki-theme, pki-core, and + pki-console to 10.4.x +- ############################################################################ +- # RHEL 7.4: +- ############################################################################ +- Bugzilla Bug #1222557 - ECDSA Certificates Generated by Certificate System + 8.1 fail NIST validation test with parameter field. (cfu) +- Bugzilla Bug #1238684 - Generting Symmetric key fails with key-generate + when --usages verify (vakwetu) +- Bugzilla Bug #1246635 - user-cert-add --serial CLI request to secure port + with remote CA shows authentication failure (edewata) +- Bugzilla Bug #1249400 - CA EE: Submit caUserCert request without uid does + not show proper error message (vakwetu) +- Bugzilla Bug #1305993 - Add profile component that copies CN to SAN + (ftweedal) +- Bugzilla Bug #1316653 - pki ca-cert-request-submit fails presumably because + of missing authentication even if it should not require any (edewata) +- Bugzilla Bug #1325071 - add options to enable/disable cert or crl + publishing. (vakwetu) +- Bugzilla Bug #1330800 - Failed to start pki-tomcatd Service + ("ipa-cacert-manage renew" failed?) (edewata) +- Bugzilla Bug #1368410 - Misleading Logging for HSM (edewata) +- Bugzilla Bug #1372052 - Unable to search certificate requests using the + latest request ID (edewata) +- Bugzilla Bug #1375347 - Typo in comment line of + UserPwdDirAuthentication.java (edewata) +- Bugzilla Bug #1376226 - IPA replica-prepare failed with error + "Profile caIPAserviceCert Not Found" (ftweedal) +- Bugzilla Bug #1376488 - pkispawn fails as it is not able to find openssl as + a dependency package (mharmsen) +- Bugzilla Bug #1378275 - two-step externally-signed CA installation fails due + to missing AuthorityID (ftweedal) +- Bugzilla Bug #1378277 - Spurious host authority entries created (ftweedal) +- Bugzilla Bug #1378527 - Miscellaneous Minor Changes (edewata) +- Bugzilla Bug #1381084 - KRA installation failed against externally-signed CA + with partial certificate chain (edewata) +- Bugzilla Bug #1382066 - Problems with FIPS mode (edewata) +- Bugzilla Bug #1386371 - Remove xenroll.dll from pki-core (mharmsen) +- Bugzilla Bug #1386424 - Fix packaging duplicates of classes in multiple jar + files (edewata) +- Bugzilla Bug #1391737 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI (RHEL 7) (edewata) +- Bugzilla Bug #1392068 - [RFE] add express archivals and retrievals from KRA + (vakwetu) +- Bugzilla Bug #1395817 - Unable to install subordinate CA with HSM in FIPS + mode (edewata) +- Bugzilla Bug #1397200 - pkispawn does not change default ecc key size from + nistp256 when nistp384 is specified in spawn config (jmagne) +- Bugzilla Bug #1399862 - Dogtag 10.3.9 Man Pages (edewata) +- Bugzilla Bug #1404881 - TPS throws "err=6" when attempting to format and + enroll G&D Cards (jmagne) +- Bugzilla Bug #1405654 - Token memory not wiped after key deletion (RHEL) + (jmagne) +- Bugzilla Bug #1409946 - Request ID undefined for CA signing certificate + (vakwetu) +- Bugzilla Bug #1409949 - CA Certificate Issuance Date displayed on CA website + incorrect (vakwetu) +- Bugzilla Bug #1410650 - [RFE] Add SCP03 support (RHEL) (jmagne) +- Bugzilla Bug #1411428 - Unable to create a CA clone in FIPS (edewata) +- Bugzilla Bug #1412211 - Unable to set up KRA in FIPS (edewata) +- Bugzilla Bug #1412681 - update to 7.3 IPA with otpd bugfixes, tomcat will + not finish start, hangs (ftweedal) +- Bugzilla Bug #1413132 - pki-tomcat for 10+ minutes before generating cert + (edewata) +- Bugzilla Bug #1413136 - Problem with default AJP hostname in IPv6 + environment. (edewata) +- ############################################################################ +- # RHCS 9.2: +- ############################################################################ +- Bugzilla Bug #1248553 - TPS Enrollment always goes to "ca1 (cfu) +- Bugzilla Bug #1274086 - [RFE] Add SCP03 support (RHCS) (jmagne) +- Bugzilla Bug #1274096 - [BUG] Add ability to disallow TPS to enroll a single + user on multiple tokens. (jmagne) +- Bugzilla Bug #1379379 - Unable to read an encrypted email using renewed + tokens (jmagne) +- Bugzilla Bug #1379749 - Automatic recovery of encryption cert is not working + when a token is physically damaged and a temporary token is issued (jmagne) +- Bugzilla Bug #1381375 - Cert/Key recovery is successful when the cert serial + number and key id on the ldap user mismatches (cfu) +- Bugzilla Bug #1381635 - Token format with external reg fails when + op.format.externalRegAddToToken.revokeCert=true (cfu) +- Bugzilla Bug #1382762 - PIN_RESET policy is not giving expected results when + set on a token (jmagne) +- Bugzilla Bug #1386257 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI (RHCS 9) (edewata) +- Bugzilla Bug #1391207 - Automatic recovery of encryption cert - CA and TPS + tokendb shows different certificate status (cfu) +- Bugzilla Bug #1395479 - TPS throws "err=6" when attempting to format and + enroll G&D Cards (RHCS) (jmagne) +- Bugzilla Bug #1404900 - Dogtag 10.3.9 logging properties (edewata) +- Bugzilla Bug #1405655 - Token memory not wiped after key deletion (RHCS) + (jmagne) +- ############################################################################ + +* Mon Mar 6 2017 Dogtag Team 10.3.3-18 +- ## RHEL 7.3.z Batch Update 4 +- Bugzilla Bug #1429492 - Add profile component that copies CN to SAN + (ftweedal) + +* Mon Jan 30 2017 Dogtag Team 10.3.3-17 +- ## RHCS 9.1.z Batch Update 3 +- Bugzilla Bug #1391207 - Automatic recovery of encryption cert - CA and TPS + tokendb shows different certificate status (cfu) +- ## RHEL 7.3.z Batch Update 3 +- Bugzilla Bug #1417063 - ECDSA Certificates Generated by Certificate System + 8.1 fail NIST validation test with parameter field. (cfu) +- Bugzilla Bug #1417064 - Unable to search certificate requests using the + latest request ID (edewata) +- Bugzilla Bug #1417065 - CA Certificate Issuance Date displayed on CA website + incorrect (alee) +- Bugzilla Bug #1417066 - update to 7.3 IPA with otpd bugfixes, tomcat will + not finish start, hangs (ftweedal) +- Bugzilla Bug #1417067 - pki-tomcat for 10+ minutes before generating cert + (edewata) +- Bugzilla Bug #1417190 - Problem with default AJP hostname in IPv6 + environment. (edewata) + +* Thu Dec 15 2016 Dogtag Team 10.3.3-16 +- Separate original patches into RHEL and RHCS portions +- ## RHEL 7.3.z Batch Update 2 +- Bugzilla Bug #1404176 - logging properties and man pages (edewata) +- Bugzilla Bug #1405328 - TPS throws "err=6" when attempting to format and + enroll G&D Cards (jmagne) +- ## RHCS 9.1.z Batch Update 2 +- Bugzilla Bug #1395479 - TPS throws "err=6" when attempting to format and + enroll G&D Cards (jmagne) +- Bugzilla Bug #1404900 - RHCS logging properties (edewata) + +* Tue Dec 13 2016 Dogtag Team 10.3.3-15 +- ## RHEL 7.3.z Batch Update 2 +- Bugzilla Bug #1404173 - user-cert-add --serial CLI request to secure port + with remote CA shows authentication failure (edewata) +- Bugzilla Bug #1404175 - pki ca-cert-request-submit fails presumably because + of missing authentication even if it should not require any (edewata) +- Bugzilla Bug #1404178 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI [pki-base] (edewata) +- Bugzilla Bug #1404172 - Unable to install subordinate CA with HSM in FIPS + mode (edewata) +- Bugzilla Bug #1403689 - pkispawn does not change default ecc key size from + nistp256 when nistp384 is specified in spawn config (jmagne) +- Bugzilla Bug #1404176 - logging properties and man pages (edewata) +- ## RHCS 9.1.z Batch Update 2 +- Bugzilla Bug #1386257 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI [pki-tps] (edewata) +- Bugzilla Bug #1391207 - Automatic recovery of encryption cert - CA and TPS + tokendb shows different certificate status (cfu) +- Bugzilla Bug #1395479 - TPS throws "err=6" when attempting to format and + enroll G&D Cards (jmagne) + +* Tue Nov 8 2016 Dogtag Team 10.3.3-14 +- Marked the following RHCS 9.1.z bug: + Bugzilla Bug #1382862 - TPS token enrollment fails to setupSecureChannel + when TPS and TKS security db is on fips mode. (jmagne) + as a duplicate of RHEL 7.3.z bug: + Bugzilla Bug #1389757 - Problems with FIPS mode (edewata) + and moved the patch from the RHCS 9.1.z bug to the RHEL 7.3.z bug. + +* Thu Nov 3 2016 Dogtag Team 10.3.3-13 +- ## RHEL 7.3.z Batch Update 1 +- Bugzilla Bug #1389757 - Problems with FIPS mode (edewata) + (added KRA key recovery via CLI in FIPS mode) +- ## RHCS 9.1.z Batch Update 1 +- Reverted patches associated with + Bugzilla Bug #1386257 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI (edewata) + +* Mon Oct 31 2016 Dogtag Team 10.3.3-12 +- ## RHEL 7.3.z Batch Update 1 +- Bugzilla Bug #1390318 - CA EE: Submit caUserCert request without uid does + not show proper error message (alee) +- Bugzilla Bug #1390319 - Failed to start pki-tomcatd Service + ("ipa-cacert-manage renew" failed?) (edewata) +- Bugzilla Bug #1390320 - pkispawn fails as it is not able to find openssl as + a dependency package (mharmsen) +- Bugzilla Bug #1390321 - two-step externally-signed CA installation fails due + to missing AuthorityID (ftweedal) +- Bugzilla Bug #1390322 - Spurious host authority entries created (ftweedal) +- Bugzilla Bug #1390324 - KRA installation failed against externally-signed CA + with partial certificate chain (edewata) +- Bugzilla Bug #1389757 - Problems with FIPS mode (edewata) +- Bugzilla Bug #1390311 - Fix packaging duplicates of classes in multiple jar + files (edewata) +- Bugzilla Bug #1390325 - Typo in comment line of UserPwdDirAuthentication.java + (edewata) +- ## RHCS 9.1.z Batch Update 1 +- Bugzilla Bug #1248553 - TPS Enrollment always goes to "ca1" (cfu) +- Bugzilla Bug #1274096 - [BUG] Add ability to disallow TPS to enroll a + single user on multiple tokens. (jmagne) +- Bugzilla Bug #1379379 - Unable to read an encrypted email using renewed + tokens (jmagne) +- Bugzilla Bug #1379749 - Automatic recovery of encryption cert is not working + when a token is physically damaged and a temporary token is issued (jmagne) +- Bugzilla Bug #1381375 - Cert/Key recovery is successful when the cert serial + number and key id on the ldap user mismatches +- Bugzilla Bug #1381635 - Token format with external reg fails when + op.format.externalRegAddToToken.revokeCert=true (cfu) +- Bugzilla Bug #1382762 - PIN_RESET policy is not giving expected results when + set on a token (jmagne) +- Bugzilla Bug #1382862 - TPS token enrollment fails to setupSecureChannel + when TPS and TKS security db is on fips mode. (jmagne) +- Bugzilla Bug #1386257 - Changes to target.agent.approve.list parameter is + not reflected in the TPS Web UI (edewata) + +* Mon Oct 10 2016 Dogtag Team 10.3.3-11 +- PKI TRAC Ticket #1527 - TPS Enrollment always goes to "ca1" (cfu) +- PKI TRAC Ticket #1664 - [BUG] Add ability to disallow TPS to enroll a single + user on multiple tokens. (jmagne) +- PKI TRAC Ticket #2478 - pkispawn fails as it is not able to find openssl as a + dependency package (mharmsen) +- PKI TRAC Ticket #2483 - Unable to read an encrypted email using renewed + tokens (jmagne) +- PKI TRAC Ticket #2496 - Cert/Key recovery is successful when the cert serial + number and key id on the ldap user mismatches (cfu) +- PKI TRAC Ticket #2505 - Fix packaging duplicates of classes in multiple jar + files (edewata) + +* Fri Sep 9 2016 Dogtag Team 10.3.3-10 +- Revert Patch: PKI TRAC Ticket #2449 - Unable to create system certificates + in different tokens (edewata) +- Resolves: rhbz #1374054 - ipa-replica-install fails setting up certificate +- Restores: rhbz #1319557 - pkispawn KRA instance is failing server +- Removes from Errata: rhbz #1372041 - Unable to create system certificates + in different tokens + +* Tue Sep 6 2016 Dogtag Team 10.3.3-9 +- PKI TRAC Ticket #1638 - Lightweight CAs: revoke certificate on CA deletion + (ftweedal) +- PKI TRAC Ticket #2436 - Dogtag 10.3.6: Miscellaneous Enhancements + (edewata) +- PKI TRAC Ticket #2443 - Prevent deletion of host CA's keys if LWCA entry + deleted (ftweedal) +- PKI TRAC Ticket #2444 - Authority entry without entryUSN is skipped even if + USN plugin enabled (ftweedal) +- PKI TRAC Ticket #2446 - pkispawn: make subject_dn defaults unique per + instance name (for shared HSM) (cfu) +- PKI TRAC Ticket #2447 - CertRequestInfo has incorrect URLs (vakwetu) +- PKI TRAC Ticket #2449 - Unable to create system certificates in different + tokens (edewata) + +* Mon Aug 29 2016 Dogtag Team 10.3.3-8 +- PKI TRAC Ticket #1578 - Authentication Instance Id PinDirEnrollment with authType value as SslclientAuth is not working (jmagne) +- PKI TRAC TIcket #2414 - pki pkcs12-cert-del shows a successfully deleted message when a wrong nickname is provided (gkapoor) +- PKI TRAC Ticket #2423 - pki_ca_signing_token when not specified does not fallback to pki_token_name value (edewata) +- PKI TRAC Ticket #2436 - Dogtag 10.3.6: Miscellaneous Enhancements (akasurde) - ticket remains open +- PKI TRAC Ticket #2439 - Outdated deployment descriptors in upgraded server(edewata) + +* Tue Aug 23 2016 Dogtag Team 10.3.3-7 +- PKI TRAC Ticket #690 - [MAN] pki-tools man pages (mharmsen) + - CMCEnroll +- PKI TRAC Ticket #833 - pki user-mod fullName="" gives an error message + "PKIException: LDAP error (21): error result" (edewata) +- PKI TRAC Ticket #2431 - Errors noticed during ipa server upgrade. + (cheimes, edewata, mharmsen) +- PKI TRAC Ticket #2432 - Kra-selftest behavior is not as expected (edewata) +- PKI TRAC Ticket #2436 - Dogtag 10.3.6: Miscellaneous Enhancements + (edewata, mharmsen) +- PKI TRAC Ticket #2437 - TPS UI: while adding certs for users from TPSUI pem + format with/without header works while pkcs7 with header is not allowed + (edewata) +- PKI TRAC Ticket #2440 - Optional CA signing CSR for migration (edewata) + +* Mon Aug 15 2016 Dogtag Team 10.3.3-6 +- Bugzilla Bug #1366465 - Errata TPS upgrade test fails + +* Mon Aug 8 2016 Dogtag Team 10.3.3-5 +- PKI TRAC Ticket #978 - TPS connector man page: add revocation routing + info (cfu) +- PKI TRAC Ticket #1285 - [MAN] Apply 'generateCRMFRequest() removed from + Firefox' workarounds to appropriate 'pki' man page (jmagne) +- PKI TRAC Ticket #2246 - [MAN] Man Page: AuditVerify (cfu) +- PKI TRAC Ticket #2381 - Throws exception while providing invalid module. + (edewata) +- PKI TRAC Ticket #2383 - CLI :: pki client-cert-request --extractable + should accept only boolean value (edewata) +- PKI TRAC Ticket #2389 - Installation: subsystem certs could have notAfter + beyond CA signing cert in case of external or existing CA (cfu) +- PKI TRAC Ticket #2399 - Dogtag 10.3.5: Miscellaneous Enhancements + (akasurde, alee, cheimes, edewata, jmagne, mharmsen) +- PKI TRAC Ticket #2401 - pkispawn calls dnsdomainname even if it does not + rpm-require hostname (mharmsen) +- PKI TRAC Ticket #2402 - Conflict in file ownership in pki-base and + pki-server (cheimes) +- PKI TRAC Ticket #2403 - Deployment problem with RESTEasy 3.0.17 (edewata) +- PKI TRAC Ticket #2406 - Make starting CRL Number configurable (jmagne) +- PKI TRAC Ticket #2412 - pki client-cert-import --trust option does not + apply the specified trust bits (alee) +- PKI TRAC Ticket #2418 - [TPS] Some template substitution didn't happen + during installation (alee) +- PKI TRAC Ticket #2420 - CA subsystem OSCP responder fails when LWCAs are + not used (ftweedal) +- PKI TRAC Ticket #2421 - Incorrect SELinux contexts + Installation/Configuration (edewata) +- PKI TRAC Ticket #2424 - ipa-ca-install fails on replica when IPA server + is converted from CA-less to CA-full (edewata) +- PKI TRAC Ticket #2428 - broken request links for CA's system certs in + agent request viewing (cfu) +- PKI TRAC Ticket #2430 - CA Agent certificate list is not sorted by serial + number in migration case (jmagne) +- PKI TRAC Ticket #2431 - Errors noticed during ipa server upgrade. + (mharmsen) +- PKI TRAC Ticket #2433 - Lightweight CA GET /chain returns bogus PEM + data (ftweedal) + +* Tue Jul 5 2016 Dogtag Team 10.3.3-3 +- PKI TRAC Ticket #691 - [MAN] pki-server man pages (mharmsen) +- PKI TRAC Ticket #1114 - [MAN] Generting Symmetric key fails with + key-generate when --usages verify is passed (jmagne) +- PKI TRAC Ticket #1306 - [RFE] Add granularity to token termination in TPS + (cfu) +- PKI TRAC Ticket #1308 - [RFE] Provide ability to perform off-card key + generation for non-encryption token keys (cfu) +- PKI TRAC Ticket #1405 - [MAN] Add additional HSM details to + 'pki_default.cfg' & 'pkispawn' man pages (mharmsen) +- PKI TRAC Ticket #1607 - [MAN] man pkispawn has inadequate description for + shared vs non shared tomcat instance installation (mharmsen) +- PKI TRAC Ticket #1664 - [BUG] Add ability to disallow TPS to enroll a single + user on multiple tokens. (jmagne) +- PKI TRAC Ticket #1711 - CLI :: pki-server ca-cert-request-find throws + IOError (edewata, ftweedal) +- PKI TRAC Ticket #2285 - freeipa fails to start correctly after pki-core + update on upgraded system (ftweedal) +- PKI TRAC Ticket #2311 - When pki_token_name=Internal, consider normalizing + it to "internal" (mharmsen) +- PKI TRAC Ticket #2349 - Separated TPS does not automatically receive shared + secret from remote TKS (jmagne) +- PKI TRAC Ticket #2364 - CLI :: pki-server ca-cert-request-show throws + attribute error (ftweedal) +- PKI TRAC Ticket #2368 - pki-server subsystem subcommands throws error with + --help option (edewata) +- PKI TRAC Ticket #2374 - KRA cloning overwrites CA signing certificate trust + flags (edewata) +- PKI TRAC Ticket #2380 - Pki-server instance commands throws exception while + specifying invalid parameters. (edewata) +- PKI TRAC Ticket #2384 - CA installation with HSM prompts for HSM password + during silent installation (edewata) +- PKI TRAC Ticket #2385 - Upgraded CA lacks ca.sslserver.certreq in CS.cfg + (ftweedal) +- PKI TRAC Ticket #2387 - Add config for default OCSP URI if none given + (ftweedal) +- PKI TRAC Ticket #2388 - CA creation responds 500 if certificate issuance + fails (ftweedal) +- PKI TRAC Ticket #2389 - Installation: subsystem certs could have notAfter + beyond CA signing cert in case of external or existing CA (cfu) +- PKI TRAC Ticket #2390 - Dogtag 10.3.4: Miscellaneous Enhancements + (akasurde, edewata) + +* Thu Jun 30 2016 Dogtag Team 10.3.3-2 +- PKI TRAC Ticket #2373 - Fedora 25: RestEasy 3.0.6 ==> 3.0.17 breaks + pki-core (ftweedal) + +* Mon Jun 20 2016 Dogtag Team 10.3.3-1 +- Updated release number to 10.3.3-1 + +* Tue Jun 7 2016 Dogtag Team 10.3.3-0.1 +- Updated version number to 10.3.3-0.1 + +* Tue Jun 7 2016 Dogtag Team 10.3.2-5 +- Provided cleaner runtime dependency separation + +* Tue Jun 7 2016 Dogtag Team 10.3.2-4 +- Updated tomcatjss version dependencies + +* Tue Jun 7 2016 Dogtag Team 10.3.2-3 +- Updated 'java', 'java-headless', and 'java-devel' dependencies to 1:1.8.0. + +* Tue Jun 7 2016 Dogtag Team 10.3.2-2 +- Updated tomcat version dependencies + +* Tue Jun 7 2016 Dogtag Team 10.3.2-1 +- Updated version number to 10.3.2-1 + +* Wed May 18 2016 Dogtag Team 10.3.2-0.1 +- Updated version number to 10.3.2-0.1 + +* Tue May 17 2016 Dogtag Team 10.3.1-1 +- Updated version number to 10.3.1-1 (to allow upgrade from 10.3.0.b1) + +* Mon May 16 2016 Dogtag Team 10.3.0-1 +- Updated version number to 10.3.0-1 + +* Mon Apr 18 2016 Dogtag Team 10.3.0.b1-1 +- Build for F24 beta + +* Fri Apr 8 2016 Dogtag Team 10.3.0.a2-2 +- PKI TRAC Ticket #2255 - PKCS #12 backup does not contain trust attributes. + +* Thu Apr 7 2016 Dogtag Team 10.3.0.a2-1 +- Updated build for F24 alpha + +* Wed Mar 23 2016 Dogtag Team 10.3.0.a1-2 +- PKI TRAC Ticket #1625 - Allow multiple ACLs of same name + (union of rules) [ftweedal] +- PKI TRAC Ticket #2237 - Add CRL dist points extension to OIDMap + unconditionally [edewata] +- PKI TRAC Ticket #1803 - Removed unnecessary URL encoding for admin cert + request. [edewata] +- PKI TRAC Ticket #1742 - Added support for cloning 3rd-party CA + certificates. [edewata] +- PKI TRAC Ticket #1482 - Added TPS token filter dialog. [edewata] +- PKI TRAC Ticket #1808 - Fixed illegal token state transition + via TEMP_LOST. [edewata] + +* Fri Mar 4 2016 Dogtag Team 10.3.0.a1-1 +- Build for F24 alpha + +* Tue Mar 1 2016 Dogtag Team 10.3.0-0.5 +- PKI Trac Ticket #1399 - Move java components out of pki-base + +* Thu Feb 11 2016 Dogtag Team 10.3.0-0.4 +- PKI TRAC Ticket #1850 - Rename DRMTool --> KRATool + +* Thu Feb 4 2016 Dogtag Team 10.3.0-0.3 +- PKI TRAC Ticket #1714 - mod_revocator and mod_nss dependency for tps + should be removed + +* Sat Oct 3 2015 Dogtag Team 10.3.0-0.2 +- PKI TRAC Ticket #1623 - Runtime dependency on python-nss is missing + +* Sat Aug 8 2015 Dogtag Team 10.3.0-0.1 +- Updated version number to 10.3.0-0.1 + +* Fri Aug 7 2015 Dogtag Team 10.2.7-0.3 +- Added dep on tomcat-servlet-3.1-api [Fedora 23 and later] or dep on + tomcat-servlet-3.0-api [Fedora 22 and later] to pki-tools +- Updated dep on tomcatjss [Fedora 23 and later] + +* Fri Jul 24 2015 Tomas Radej - 10.2.7-0.2 +- Updated dep on policycoreutils-python-utils [Fedora 23 and later] + +* Sat Jul 18 2015 Dogtag Team 10.2.7-0.1 +- Updated version number to 10.2.7-0.1 + +* Sat Jul 18 2015 Dogtag Team 10.2.6-1 +- Update release number for release build + +* Fri Jul 17 2015 Dogtag Team 10.2.6-0.3 +- Remove setup directory and remaining Perl dependencies + +* Sat Jun 20 2015 Dogtag Team 10.2.6-0.2 +- Remove ExcludeArch directive + +* Fri Jun 19 2015 Dogtag Team 10.2.6-0.1 +- Updated version number to 10.2.6-0.1 + +* Fri Jun 19 2015 Dogtag Team 10.2.5-1 +- Update release number for release build + +* Wed Jun 17 2015 Dogtag Team 10.2.5-0.2 +- Resolves rhbz #1230970 - Errata TPS tests for rpm verification failed + +* Tue May 26 2015 Dogtag Team 10.2.5-0.1 +- Updated version number to 10.2.5-0.1 + +* Tue May 26 2015 Dogtag Team 10.2.4-1 +- Update release number for release build + +* Tue May 12 2015 Dogtag Team 10.2.4-0.2 +- Updated nuxwdog and tomcatjss requirements (alee) + +* Thu Apr 23 2015 Dogtag Team 10.2.4-0.1 +- Updated version number to 10.2.4-0.1 +- Added nuxwdog systemd files + +* Thu Apr 23 2015 Dogtag Team 10.2.3-1 +- Update release number for release build + +* Thu Apr 9 2015 Dogtag Team 10.2.3-0.1 +- Reverted version number back to 10.2.3-0.1 +- Added support for Tomcat 8. + +* Mon Apr 6 2015 Dogtag Team 10.3.0-0.1 +- Updated version number to 10.3.0-0.1 + +* Wed Mar 18 2015 Dogtag Team 10.2.3-0.1 +- Updated version number to 10.2.3-0.1 + +* Tue Mar 17 2015 Dogtag Team 10.2.2-1 +- Update release number for release build + +* Thu Jan 8 2015 Dogtag Team 10.2.2-0.1 +- Updated version number to 10.2.2-0.1 +- Moved web application deployment locations. +- Updated Resteasy and Jackson dependencies. +- Added missing python-lxml build dependency. + +* Thu Jan 8 2015 Dogtag Team 10.2.1-1 +- Update release number for release build + +* Tue Dec 16 2014 Matthew Harmsen - 10.2.1-0.4 +- PKI TRAC Ticket #1187 - mod_perl should be removed from requirements for 10.2 +- PKI TRAC Ticket #1205 - Outdated selinux-policy dependency. +- Removed perl(XML::LibXML), perl-Crypt-SSLeay, and perl-Mozilla-LDAP runtime + dependencies + +* Fri Dec 12 2014 Ade Lee 10.2.1-0.3 +- Change resteasy dependencies for F22+ + +* Mon Nov 24 2014 Christina Fu 10.2.1-0.2 +- Ticket 1198 Bugzilla 1158410 add TLS range support to server.xml by + default and upgrade (cfu) +- PKI Trac Ticket #1211 - New release overwrites old source tarball (mharmsen) +- up the release number to 0.2 + +* Fri Oct 24 2014 Dogtag Team 10.2.1-0.1 +- Updated version number to 10.2.1-0.1. +- Added CLIs to simplify generating user certificates +- Added enhancements to KRA Python API +- Added a man page for pki ca-profile commands. +- Added python api docs + +* Wed Oct 1 2014 Ade Lee 10.2.0-3 +- Disable pylint dependency for RHEL builds +- Added jakarta-commons-httpclient requirements +- Added tomcat version for RHEL build +- Added resteasy-base-client for RHEL build + +* Wed Sep 24 2014 Matthew Harmsen - 10.2.0-2 +- PKI TRAC Ticket #1130 - Add RHEL/CentOS conditionals to spec + +* Wed Sep 3 2014 Dogtag Team 10.2.0-1 +- Update release number for release build + +* Wed Sep 3 2014 Matthew Harmsen - 10.2.0-0.10 +- PKI TRAC Ticket #1017 - Rename pki-tps-tomcat to pki-tps + +* Fri Aug 29 2014 Matthew Harmsen - 10.2.0-0.9 +- Merged jmagne@redhat.com's spec file changes from the stand-alone + 'pki-tps-client' package needed to build/run the native 'tpsclient' + command line utility into this 'pki-core' spec file under the 'tps' package. +- Original tps libararies must be built to support this native utility. +- Modifies tps package from 'noarch' into 'architecture-specific' package + +* Wed Aug 27 2014 Matthew Harmsen - 10.2.0-0.8 +- PKI TRAC Ticket #1127 - Remove 'pki-ra', 'pki-setup', and 'pki-silent' + packages . . . + +* Sun Aug 17 2014 Fedora Release Engineering - 10.2.0-0.5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 13 2014 Jack Magne - 10.2.0-0.7 +- Respin to include the applet files with the rpm install. No change + to spec file needed. + +* Tue Jul 15 2014 Matthew Harmsen - 10.2.0-0.6 +- Bugzilla Bug #1120045 - pki-core: Switch to java-headless (build)requires -- + drop dependency on java-atk-wrapper +- Removed 'java-atk-wrapper' dependency from 'pki-server' + +* Wed Jul 2 2014 Matthew Harmsen - 10.2.0-0.5 +- PKI TRAC Ticket #832 - Remove legacy 'systemctl' files . . . + +* Tue Jul 1 2014 Ade Lee - 10.2.0-0.4 +- Update rawhide build + +* Sat Jun 07 2014 Fedora Release Engineering - 10.2.0-0.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Mar 28 2014 Michael Simacek - 10.2.0-0.2 +- Use Requires: java-headless rebuild (#1067528) + +* Fri Nov 22 2013 Dogtag Team 10.2.0-0.1 +- Added option to build without server packages. +- Replaced Jettison with Jackson. +- Added python-nss build requirement +- Bugzilla Bug #1057959 - pkispawn requires policycoreutils-python +- TRAC Ticket #840 - pkispawn requires policycoreutils-python +- Updated requirements for resteasy +- Added template files for archive, retrieve and generate key + requests to the client package. + +* Fri Nov 15 2013 Ade Lee 10.1.0-1 +- Trac Ticket 788 - Clean up spec files +- Update release number for release build +- Updated requirements for resteasy + +* Sun Nov 10 2013 Ade Lee 10.1.0-0.14 +- Change release number for beta build + +* Thu Nov 7 2013 Ade Lee 10.1.0-0.13 +- Updated requirements for tomcat + +* Fri Oct 4 2013 Ade Lee 10.1.0-0.12 +- Removed additional /var/run, /var/lock references. + +* Fri Oct 4 2013 Ade Lee 10.1.0-0.11 +- Removed delivery of /var/lock and /var/run directories for fedora 20. + +* Wed Aug 14 2013 Endi S. Dewata 10.1.0-0.10 +- Moved Tomcat-based TPS into pki-core. + +* Wed Aug 14 2013 Abhishek Koneru 10.1.0.0.9 +- Listed new packages required during build, due to issues reported + by pylint. +- Packages added: python-requests, python-ldap, libselinux-python, + policycoreutils-python + +* Fri Aug 09 2013 Abhishek Koneru 10.1.0.0.8 +- Added pylint scan to the build process. + +* Mon Jul 22 2013 Endi S. Dewata 10.1.0-0.7 +- Added man pages for upgrade tools. + +* Wed Jul 17 2013 Endi S. Dewata 10.1.0-0.6 +- Cleaned up the code to install man pages. + +* Tue Jul 16 2013 Endi S. Dewata 10.1.0-0.5 +- Reorganized deployment tools. + +* Tue Jul 9 2013 Ade Lee 10.1.0-0.4 +- Bugzilla Bug 973224 - resteasy-base must be split into subpackages + to simplify dependencies + +* Fri Jun 14 2013 Endi S. Dewata 10.1.0-0.3 +- Updated dependencies to Java 1.7. + +* Wed Jun 5 2013 Matthew Harmsen 10.1.0-0.2 +- TRAC Ticket 606 - add restart / start at boot info to pkispawn man page +- TRAC Ticket 610 - Document limitation in using GUI install +- TRAC Ticket 629 - Package ownership of '/usr/share/pki/etc/' directory + +* Tue May 7 2013 Ade Lee 10.1.0-0.1 +- Change release number for 10.1 development + +* Mon May 6 2013 Endi S. Dewata 10.0.2-5 +- Fixed incorrect JNI_JAR_DIR. + +* Sat May 4 2013 Ade Lee 10.0.2-4 +- TRAC Ticket 605 Junit internal function used in TestRunner, + breaks F19 build + +* Sat May 4 2013 Ade Lee 10.0.2-3 +- TRAC Ticket 604 Added fallback methods for pkispawn tests + +* Mon Apr 29 2013 Endi S. Dewata 10.0.2-2 +- Added default pki.conf in /usr/share/pki/etc +- Create upgrade tracker on install and remove it on uninstall + +* Fri Apr 26 2013 Ade Lee 10.0.2-1 +- Change release number for official release. + +* Thu Apr 25 2013 Ade Lee 10.0.2-0.8 +- Added %pretrans script for f19 +- Added java-atk-wrapper dependency + +* Wed Apr 24 2013 Endi S. Dewata 10.0.2-0.7 +- Added pki-server-upgrade script and pki.server module. +- Call upgrade scripts in %post for pki-base and pki-server. + +* Tue Apr 23 2013 Endi S. Dewata 10.0.2-0.6 +- Added dependency on commons-io. + +* Mon Apr 22 2013 Ade Lee 10.0.2-0.5 +- Add /var/log/pki and /var/lib/pki directories + +* Tue Apr 16 2013 Endi S. Dewata 10.0.2-0.4 +- Run pki-upgrade on post server installation. + +* Mon Apr 15 2013 Endi S. Dewata 10.0.2-0.3 +- Added dependency on python-lxml. + +* Fri Apr 5 2013 Endi S. Dewata 10.0.2-0.2 +- Added pki-upgrade script. + +* Fri Apr 5 2013 Endi S. Dewata 10.0.2-0.1 +- Updated version number to 10.0.2-0.1. + +* Fri Apr 5 2013 Endi S. Dewata 10.0.1-9 +- Renamed base/deploy to base/server. +- Moved pki.conf into pki-base. +- Removed redundant pki/server folder declaration. + +* Tue Mar 19 2013 Ade Lee 10.0.1-8 +- Removed jython dependency + +* Mon Mar 11 2013 Endi S. Dewata 10.0.1-7 +- Added minimum python-requests version. + +* Fri Mar 8 2013 Matthew Harmsen 10.0.1-6 +- Bugzilla Bug #919476 - pkispawn crashes due to dangling symlink to jss4.jar + +* Thu Mar 7 2013 Endi S. Dewata 10.0.1-5 +- Added dependency on python-requests. +- Reorganized Python module packaging. + +* Thu Mar 7 2013 Endi S. Dewata 10.0.1-4 +- Added dependency on python-ldap. + +* Mon Mar 4 2013 Matthew Harmsen 10.0.1-3 +- TRAC Ticket #517 - Clean up theme dependencies +- TRAC Ticket #518 - Remove UI dependencies from pkispawn . . . + +* Fri Mar 1 2013 Matthew Harmsen 10.0.1-2 +- Removed runtime dependency on 'pki-server-theme' to resolve + Bugzilla Bug #916134 - unresolved dependency in pki-server: pki-server-theme + +* Tue Jan 15 2013 Ade Lee 10.0.1-1 +- TRAC Ticket 214 - Missing error description for duplicate user +- TRAC Ticket 213 - Add nonces for cert revocation +- TRAC Ticket 367 - pkidestroy does not remove connector +- TRAC Ticket #430 - License for 3rd party code +- Bugzilla Bug 839426 - [RFE] ECC CRL support for OCSP +- Fix spec file to allow f17 to work with latest tomcatjss +- TRAC Ticket 466 - Increase root CA validity to 20 years +- TRAC Ticket 469 - Fix tomcatjss issue in spec files +- TRAC Ticket 468 - pkispawn throws exception +- TRAC Ticket 191 - Mapping HTTP Exceptions to HTTP error codes +- TRAC Ticket 271 - Dogtag 10: Fix 'status' command in 'pkidaemon' . . . +- TRAC Ticket 437 - Make admin cert p12 file location configurable +- TRAC Ticket 393 - pkispawn fails when selinux is disabled +- Punctuation and formatting changes in man pages +- Revert to using default config file for pkidestroy +- Hardcode setting of resteasy-lib for instance +- TRAC Ticket 436 - Interpolation for pki_subsystem +- TRAC Ticket 433 - Interpolation for paths +- TRAC Ticket 435 - Identical instance id and instance name +- TRAC Ticket 406 - Replace file dependencies with package dependencies + +* Wed Jan 9 2013 Matthew Harmsen 10.0.0-5 +- TRAC Ticket #430 - License for 3rd party code + +* Fri Jan 4 2013 Matthew Harmsen 10.0.0-4 +- TRAC Ticket #469 - Dogtag 10: Fix tomcatjss issue in pki-core.spec and + dogtag-pki.spec . . . +- TRAC Ticket #468 - pkispawn throws exception + +* Wed Dec 12 2012 Ade Lee 10.0.0-3 +- Replaced file dependencies with package dependencies + +* Mon Dec 10 2012 Ade Lee 10.0.0-2 +- Updated man pages + +* Fri Dec 7 2012 Ade Lee 10.0.0-1 +- Update to official release for rc1 + +* Thu Dec 6 2012 Matthew Harmsen 10.0.0-0.56.b3 +- TRAC Ticket #315 - Man pages for pkispawn/pkidestroy. +- Added place-holders for 'pki.1' and 'pki_default.cfg.5' man pages. + +* Thu Dec 6 2012 Endi S. Dewata 10.0.0-0.55.b3 +- Added system-wide configuration /etc/pki/pki.conf. +- Removed redundant lines in %files. + +* Tue Dec 4 2012 Endi S. Dewata 10.0.0-0.54.b3 +- Moved default deployment configuration to /etc/pki. + +* Mon Nov 19 2012 Ade Lee 10.0.0-0.53.b3 +- Cleaned up spec file to provide only support rhel 7+, f17+ +- Added resteasy-base dependency for rhel 7 +- Update cmake version + +* Mon Nov 12 2012 Ade Lee 10.0.0-0.52.b3 +- Update release to b3 + +* Fri Nov 9 2012 Endi S. Dewata 10.0.0-0.51.b2 +- Removed dependency on CA, KRA, OCSP, TKS theme packages. + +* Thu Nov 8 2012 Endi S. Dewata 10.0.0-0.50.b2 +- Renamed pki-common-theme to pki-server-theme. + +* Thu Nov 8 2012 Matthew Harmsen 10.0.0-0.49.b2 +- TRAC Ticket #395 - Dogtag 10: Add a Tomcat 7 runtime requirement to + 'pki-server' + +* Mon Oct 29 2012 Ade Lee 10.0.0-0.48.b2 +- Update release to b2 + +* Wed Oct 24 2012 Matthew Harmsen 10.0.0-0.47.b1 +- TRAC Ticket #350 - Dogtag 10: Remove version numbers from PKI jar files . . . + +* Tue Oct 23 2012 Ade Lee 10.0.0-0.46.b1 +- Added Obsoletes for pki-selinux + +* Tue Oct 23 2012 Ade Lee 10.0.0-0.45.b1 +- Remove build of pki-selinux for f18, use system policy instead + +* Fri Oct 12 2012 Ade Lee 10.0.0-0.44.b1 +- Update required tomcatjss version +- Added net-tools dependency + +* Mon Oct 8 2012 Ade Lee 10.0.0-0.43.b1 +- Update selinux-policy version to fix error from latest policy changes + +* Mon Oct 8 2012 Ade Lee 10.0.0-0.42.b1 +- Fix typo in selinux policy versions + +* Mon Oct 8 2012 Ade Lee 10.0.0-0.41.b1 +- Added build requires for correct version of selinux-policy-devel + +* Mon Oct 8 2012 Ade Lee 10.0.0-0.40.b1 +- Update release to b1 + +* Fri Oct 5 2012 Endi S. Dewata 10.0.0-0.40.a2 +- Merged pki-silent into pki-server. + +* Fri Oct 5 2012 Endi S. Dewata 10.0.0-0.39.a2 +- Renamed "shared" folder to "server". + +* Fri Oct 5 2012 Ade Lee 10.0.0-0.38.a2 +- Added required selinux versions for new policy. + +* Tue Oct 2 2012 Endi S. Dewata 10.0.0-0.37.a2 +- Added Provides to packages replacing obsolete packages. + +* Mon Oct 1 2012 Ade Lee 10.0.0-0.36.a2 +- Update release to a2 + +* Sun Sep 30 2012 Endi S. Dewata 10.0.0-0.36.a1 +- Modified CMake to use RPM version number + +* Tue Sep 25 2012 Endi S. Dewata 10.0.0-0.35.a1 +- Added VERSION file + +* Mon Sep 24 2012 Endi S. Dewata 10.0.0-0.34.a1 +- Merged pki-setup into pki-server + +* Thu Sep 13 2012 Ade Lee 10.0.0-0.33.a1 +- Added Conflicts for IPA 2.X +- Added build requires for zip to work around mock problem + +* Wed Sep 12 2012 Matthew Harmsen 10.0.0-0.32.a1 +- TRAC Ticket #312 - Dogtag 10: Automatically restart any running instances + upon RPM "update" . . . +- TRAC Ticket #317 - Dogtag 10: Move "pkispawn"/"pkidestroy" + from /usr/bin to /usr/sbin . . . + +* Wed Sep 12 2012 Endi S. Dewata 10.0.0-0.31.a1 +- Fixed pki-server to include everything in shared dir. + +* Tue Sep 11 2012 Endi S. Dewata 10.0.0-0.30.a1 +- Added build dependency on redhat-rpm-config. + +* Thu Aug 30 2012 Endi S. Dewata 10.0.0-0.29.a1 +- Merged Javadoc packages. + +* Thu Aug 30 2012 Endi S. Dewata 10.0.0-0.28.a1 +- Added pki-tomcat.jar. + +* Thu Aug 30 2012 Endi S. Dewata 10.0.0-0.27.a1 +- Moved webapp creation code into pkispawn. + +* Mon Aug 20 2012 Endi S. Dewata 10.0.0-0.26.a1 +- Split pki-client.jar into pki-certsrv.jar and pki-tools.jar. + +* Mon Aug 20 2012 Endi S. Dewata 10.0.0-0.25.a1 +- Merged pki-native-tools and pki-java-tools into pki-tools. +- Modified pki-server to depend on pki-tools. + +* Mon Aug 20 2012 Endi S. Dewata 10.0.0-0.24.a1 +- Split pki-common into pki-base and pki-server. +- Merged pki-util into pki-base. +- Merged pki-deploy into pki-server. + +* Thu Aug 16 2012 Matthew Harmsen 10.0.0-0.23.a1 +- Updated release of 'tomcatjss' to rely on Tomcat 7 for Fedora 17 +- Changed Dogtag 10 build-time and runtime requirements for 'pki-deploy' +- Altered PKI Package Dependency Chain (top-to-bottom): + pki-ca, pki-kra, pki-ocsp, pki-tks --> pki-deploy --> pki-common + +* Mon Aug 13 2012 Endi S. Dewata 10.0.0-0.22.a1 +- Added pki-client.jar. + +* Fri Jul 27 2012 Endi S. Dewata 10.0.0-0.21.a1 +- Merged pki-jndi-realm.jar into pki-cmscore.jar. + +* Tue Jul 24 2012 Matthew Harmsen 10.0.0-0.20.a1 +- PKI TRAC Task #254 - Dogtag 10: Fix spec file to build successfully + via mock on Fedora 17 . . . + +* Wed Jul 11 2012 Matthew Harmsen 10.0.0-0.19.a1 +- Moved 'pki-jndi-real.jar' link from 'tomcat6' to 'tomcat' (Tomcat 7) + +* Thu Jun 14 2012 Matthew Harmsen 10.0.0-0.18.a1 +- Updated release of 'tomcatjss' to rely on Tomcat 7 for Fedora 18 + +* Tue May 29 2012 Endi S. Dewata 10.0.0-0.17.a1 +- Added CLI for REST services + +* Fri May 18 2012 Matthew Harmsen 10.0.0-0.16.a1 +- Integration of Tomcat 7 +- Addition of centralized 'pki-tomcatd' systemd functionality to the + PKI Deployment strategy +- Removal of 'pki_flavor' attribute + +* Mon Apr 16 2012 Ade Lee 10.0.0-0.15.a1 +- BZ 813075 - selinux denial for file size access + +* Thu Apr 5 2012 Christina Fu 10.0.0-0.14.a1 +- Bug 745278 - [RFE] ECC encryption keys cannot be archived + +* Tue Mar 27 2012 Endi S. Dewata 10.0.0-0.13.a1 +- Replaced candlepin-deps with resteasy + +* Fri Mar 23 2012 Endi S. Dewata 10.0.0-0.12.a1 +- Added option to build without Javadoc + +* Fri Mar 16 2012 Ade Lee 10.0.0-0.11.a1 +- BZ 802396 - Change location of TOMCAT_LOG to match tomcat6 changes +- Corrected patch selected for selinux f17 rules + +* Wed Mar 14 2012 Matthew Harmsen 10.0.0-0.10.a1 +- Corrected 'junit' dependency check + +* Mon Mar 12 2012 Matthew Harmsen 10.0.0-0.9.a1 +- Initial attempt at PKI deployment framework described in + 'http://pki.fedoraproject.org/wiki/PKI_Instance_Deployment'. + +* Fri Mar 09 2012 Jack Magne 10.0.0-0.8.a1 +- Added support for pki-jndi-realm in tomcat6 in pki-common + and pki-kra. +- Ticket #69. + +* Fri Mar 2 2012 Matthew Harmsen 10.0.0-0.7.a1 +- For 'mock' purposes, removed platform-specific logic from around + the 'patch' files so that ALL 'patch' files will be included in + the SRPM. + +* Wed Feb 29 2012 Endi S. Dewata 10.0.0-0.6.a1 +- Removed dependency on OSUtil. + +* Tue Feb 28 2012 Ade Lee 10.0.0-0.5.a1 +- 'pki-selinux' +- Added platform-dependent patches for SELinux component +- Bugzilla Bug #739708 - Selinux fix for ephemeral ports (F16) +- Bugzilla Bug #795966 - pki-selinux policy is kind of a mess (F17) + +* Thu Feb 23 2012 Endi S. Dewata 10.0.0-0.4.a1 +- Added dependency on Apache Commons Codec. + +* Wed Feb 22 2012 Matthew Harmsen 10.0.0-0.3.a1 +- Add '-DSYSTEMD_LIB_INSTALL_DIR' override flag to 'cmake' to address changes + in fundamental path structure in Fedora 17 +- 'pki-setup' +- Hard-code Perl dependencies to protect against bugs such as + Bugzilla Bug #772699 - Adapt perl and python fileattrs to + changed file 5.10 magics +- 'pki-selinux' +- Bugzilla Bug #795966 - pki-selinux policy is kind of a mess + +* Mon Feb 20 2012 Matthew Harmsen 10.0.0-0.2.a1 +- Integrated 'pki-kra' into 'pki-core' +- Integrated 'pki-ocsp' into 'pki-core' +- Integrated 'pki-tks' into 'pki-core' +- Bugzilla Bug #788787 - added 'junit'/'junit4' build-time requirements + +* Wed Feb 1 2012 Nathan Kinder 10.0.0-0.1.a1 +- Updated package version number + +* Mon Jan 16 2012 Ade Lee 9.0.16-3 +- Added resteasy-jettison-provider-2.3-RC1.jar to pki-setup + +* Mon Nov 28 2011 Endi S. Dewata 9.0.16-2 +- Added JUnit tests + +* Fri Oct 28 2011 Matthew Harmsen 9.0.16-1 +- 'pki-setup' +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- Bugzilla Bug #737122 - DRM: during archiving and recovering, + wrapping unwrapping keys should be done in the token (cfu) +- 'pki-java-tools' +- 'pki-common' +- Bugzilla Bug #744797 - KRA key recovery (retrieve pkcs#12) fails after + the in-place upgrade( CS 8.0->8.1) (cfu) +- 'pki-selinux' +- 'pki-ca' +- Bugzilla Bug #746367 - Typo in the profile name. (jmagne) +- Bugzilla Bug #737122 - DRM: during archiving and recovering, + wrapping unwrapping keys should be done in the token (cfu) +- Bugzilla Bug #749927 - Java class conflicts using Java 7 in Fedora 17 + (rawhide) . . . (mharmsen) +- Bugzilla Bug #749945 - Installation error reported during CA, DRM, + OCSP, and TKS package installation . . . (mharmsen) +- 'pki-silent' + +* Thu Sep 22 2011 Matthew Harmsen 9.0.15-1 +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . (mharmsen) +- Bugzilla Bug #699809 - Convert CS to use systemd (alee) +- 'pki-setup' +- Bugzilla Bug #730146 - SSL handshake picks non-FIPS ciphers in FIPS + mode (cfu) +- Bugzilla Bug #737192 - Need script to upgrade proxy configuration (alee) +- 'pki-symkey' +- Bugzilla Bug #730162 - TPS/TKS token enrollment failure in FIPS mode + (hsm+NSS). (jmagne) +- 'pki-native-tools' +- Bugzilla Bug #730801 - Coverity issues in native-tools area (awnuk) +- Bugzilla Bug #730146 - SSL handshake picks non-FIPS ciphers in FIPS + mode (cfu) +- 'pki-util' +- Bugzilla Bug #730146 - SSL handshake picks non-FIPS ciphers in FIPS + mode (cfu) +- 'pki-java-tools' +- 'pki-common' +- Bugzilla Bug #730146 - SSL handshake picks non-FIPS ciphers in FIPS + mode (cfu) +- Bugzilla Bug #737218 - Incorrect request attribute name matching + ignores request attributes during request parsing. (awnuk) +- Bugzilla Bug #730162 - TPS/TKS token enrollment failure in FIPS mode + (hsm+NSS). (jmagne) +- 'pki-selinux' +- Bugzilla Bug #739708 - pki-selinux lacks rules in F16 (alee) +- 'pki-ca' +- Bugzilla Bug #712931 - CS requires too many ports + to be open in the FW (alee) +- Bugzilla Bug #730146 - SSL handshake picks non-FIPS ciphers in FIPS + mode (cfu) +- 'pki-silent' +- Bugzilla Bug #739201 - pkisilent does not take arch into account + as Java packages migrated to arch-dependent directories (mharmsen) + +* Fri Sep 9 2011 Matthew Harmsen 9.0.14-1 +- 'pki-setup' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- 'pki-symkey' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- 'pki-native-tools' +- 'pki-util' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- 'pki-java-tools' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- 'pki-common' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- 'pki-selinux' +- 'pki-ca' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . +- Bugzilla Bug #699809 - Convert CS to use systemd (alee) +- 'pki-silent' +- Bugzilla Bug #734590 - Refactor JNI libraries for Fedora 16+ . . . + +* Tue Sep 6 2011 Ade Lee 9.0.13-1 +- 'pki-setup' +- Bugzilla Bug #699809 - Convert CS to use systemd (alee) +- 'pki-ca' +- Bugzilla Bug #699809 - Convert CS to use systemd (alee) +- 'pki-common' +- Bugzilla Bug #699809 - Convert CS to use systemd (alee) + +* Tue Aug 23 2011 Matthew Harmsen 9.0.12-1 +- 'pki-setup' +- Bugzilla Bug #712931 - CS requires too many ports + to be open in the FW (alee) +- 'pki-symkey' +- 'pki-native-tools' +- Bugzilla Bug #717643 - Fopen without NULL check and other Coverity + issues (awnuk) +- Bugzilla Bug #730801 - Coverity issues in native-tools area (awnuk) +- 'pki-util' +- 'pki-java-tools' +- 'pki-common' +- Bugzilla Bug #700522 - pki tomcat6 instances currently running + unconfined, allow server to come up when selinux disabled (alee) +- Bugzilla Bug #731741 - some CS.cfg nickname parameters not updated + correctly when subsystem cloned (using hsm) (alee) +- Bugzilla Bug #712931 - CS requires too many ports + to be open in the FW (alee) +- 'pki-selinux' +- Bugzilla Bug #712931 - CS requires too many ports + to be open in the FW (alee) +- 'pki-ca' +- Bugzilla Bug #712931 - CS requires too many ports + to be open in the FW (alee) +- 'pki-silent' + +* Wed Aug 10 2011 Matthew Harmsen 9.0.11-1 +- 'pki-setup' +- Bugzilla Bug #689909 - Dogtag installation under IPA takes too much + time - remove the inefficient sleeps (alee) +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Bugzilla Bug #724861 - DRMTool: fix duplicate "dn:" records by + renumbering "cn=" (mharmsen) +- 'pki-common' +- Bugzilla Bug #717041 - Improve escaping of some enrollment inputs like + (jmagne, awnuk) +- Bugzilla Bug #689909 - Dogtag installation under IPA takes too much + time - remove the inefficient sleeps (alee) +- Bugzilla Bug #708075 - Clone installation does not work over NAT + (alee) +- Bugzilla Bug #726785 - If replication fails while setting up a clone + it will wait forever (alee) +- Bugzilla Bug #728332 - xml output has changed on cert requests (awnuk) +- Bugzilla Bug #700505 - pki tomcat6 instances currently running + unconfined (alee) +- 'pki-selinux' +- Bugzilla Bug #700505 - pki tomcat6 instances currently running + unconfined (alee) +- 'pki-ca' +- Bugzilla Bug #728605 - RFE: increase default validity from 6mo to 2yrs + in IPA profile (awnuk) +- 'pki-silent' +- Bugzilla Bug #689909 - Dogtag installation under IPA takes too much + time - remove the inefficient sleeps (alee) + +* Fri Jul 22 2011 Matthew Harmsen 9.0.10-1 +- 'pki-setup' +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- Bugzilla Bug #719007 - Key Constraint keyParameter being ignored + using an ECC CA to generate ECC certs from CRMF. (jmagne) +- Bugzilla Bug #716307 - rhcs80 - DER shall not include an encoding + for any component value which is equal to its default value (alee) +- 'pki-java-tools' +- 'pki-common' +- Bugzilla Bug #720510 - Console: Adding a certificate into nethsm + throws Token not found error. (jmagne) +- Bugzilla Bug #719007 - Key Constraint keyParameter being ignored + using an ECC CA to generate ECC certs from CRMF. (jmagne) +- Bugzilla Bug #716307 - rhcs80 - DER shall not include an encoding + for any component value which is equal to its default value (alee) +- Bugzilla Bug #722989 - Registering an agent when a subsystem is + created - does not log AUTHZ_SUCCESS event. (alee) +- 'pki-selinux' +- 'pki-ca' +- Bugzilla Bug #719113 - Add client usage flag to caIPAserviceCert + (awnuk) +- 'pki-silent' + +* Thu Jul 14 2011 Matthew Harmsen 9.0.9-1 +- Updated release of 'jss' +- Updated release of 'tomcatjss' for Fedora 15 +- 'pki-setup' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #693815 - /var/log/tomcat6/catalina.out owned by pkiuser + (jdennis) +- Bugzilla Bug #694569 - parameter used by pkiremove not updated (alee) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-symkey' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-native-tools' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #717765 - TPS configuration: logging into security domain + from tps does not work with clientauth=want. (alee) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-util' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-java-tools' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #532548 - Tool to do DRM re-key (mharmsen) +- Bugzilla Bug #532548 - Tool to do DRM re-key (config file and record + processing) (mharmsen) +- Bugzilla Bug #532548 - Tool to do DRM re-key (tweaks) (mharmsen) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-common' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #695403 - Editing signedaudit or transaction, system + logs throws 'Invalid protocol' for OCSP subsystems (alee) +- Bugzilla Bug #694569 - parameter used by pkiremove not updated (alee) +- Bugzilla Bug #695015 - Serial No. of a revoked certificate is not + populated in the CA signedAudit messages (alee) +- Bugzilla Bug #694143 - CA Agent not returning specified request (awnuk) +- Bugzilla Bug #695015 - Serial No. of a revoked certificate is not + populated in the CA signedAudit messages (jmagne) +- Bugzilla Bug #698885 - Race conditions during IPA installation (alee) +- Bugzilla Bug #704792 - CC_LAB_EVAL: CA agent interface: + SubjectID=$Unidentified$ fails audit evaluation (jmagne) +- Bugzilla Bug #705914 - SCEP mishandles nicknames when processing + subsequent SCEP requests. (awnuk) +- Bugzilla Bug #661142 - Verification should fail when a revoked + certificate is added. (jmagne) +- Bugzilla Bug #707416 - CC_LAB_EVAL: Security Domain: missing audit msgs + for modify/add (alee) +- Bugzilla Bug #707416 - additional audit messages for GetCookie (alee) +- Bugzilla Bug #707607 - Published certificate summary has list of + non-published certificates with succeeded status (jmagne) +- Bugzilla Bug #717813 - EV_AUDIT_LOG_SHUTDOWN audit log not generated + for tps and ca on server shutdown (jmagne) +- Bugzilla Bug #697939 - DRM signed audit log message - operation should + be read instead of modify (jmagne) +- Bugzilla Bug #718427 - When audit log is full, server continue to + function. (alee) +- Bugzilla Bug #718607 - CC_LAB_EVAL: No AUTH message is generated in + CA's signedaudit log when a directory based user enrollment is + performed (jmagne) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-selinux' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #720503 - RA and TPS require additional SELinux + permissions to run in "Enforcing" mode (alee) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-ca' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #693815 - /var/log/tomcat6/catalina.out owned by pkiuser + (jdennis) +- Bugzilla Bug #699837 - service command is not fully backwards + compatible with Dogtag pki subsystems (mharmsen) +- Bugzilla Bug #649910 - Console: an auditor or agent can be added to an + administrator group. (jmagne) +- Bugzilla Bug #707416 - CC_LAB_EVAL: Security Domain: missing audit msgs + for modify/add (alee) +- Bugzilla Bug #716269 - make ra authenticated profiles non-visible on ee + pages (alee) +- Bugzilla Bug #718621 - CC_LAB_EVAL: PRIVATE_KEY_ARCHIVE_REQUEST occurs + for a revocation invoked by EE user (awnuk) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) +- 'pki-silent' +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + (mharmsen) +- Bugzilla Bug #669226 - Remove Legacy Build System (mharmsen) + +* Wed May 25 2011 Matthew Harmsen 9.0.8-2 +- 'pki-setup' +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Added 'DRMTool.cfg' configuration file to inventory +- 'pki-common' +- 'pki-selinux' +- 'pki-ca' +- 'pki-silent' + +* Wed May 25 2011 Matthew Harmsen 9.0.8-1 +- 'pki-setup' +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Bugzilla Bug #532548 - Tool to do DRM re-key +- 'pki-common' +- 'pki-selinux' +- 'pki-ca' +- 'pki-silent' + +* Tue Apr 26 2011 Matthew Harmsen 9.0.7-1 +- 'pki-setup' +- Bugzilla Bug #693815 - /var/log/tomcat6/catalina.out owned by pkiuser +- Bugzilla Bug #694569 - parameter used by pkiremove not updated +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- 'pki-common' +- Bugzilla Bug #695403 - Editing signedaudit or transaction, system logs + throws 'Invalid protocol' for OCSP subsystems +- Bugzilla Bug #694569 - parameter used by pkiremove not updated +- Bugzilla Bug #695015 - Serial No. of a revoked certificate is not + populated in the CA signedAudit messages +- Bugzilla Bug #694143 - CA Agent not returning specified request +- Bugzilla Bug #695015 - Serial No. of a revoked certificate is not + populated in the CA signedAudit messages +- Bugzilla Bug #698885 - Race conditions during IPA installation +- 'pki-selinux' +- 'pki-ca' +- Bugzilla Bug #693815 - /var/log/tomcat6/catalina.out owned by pkiuser +- Bugzilla Bug #699837 - service command is not fully backwards compatible + with Dogtag pki subsystems +- 'pki-silent' + +* Mon Apr 11 2011 Matthew Harmsen 9.0.6-2 +- Bugzilla Bug #695157 - Auditverify on TPS audit log throws error. + +* Tue Apr 5 2011 Matthew Harmsen 9.0.6-1 +- Bugzilla Bug #690950 - Update Dogtag Packages for Fedora 15 (beta) +- Bugzilla Bug #693327 - Missing requires: tomcatjss +- 'pki-setup' +- Bugzilla Bug #690626 - pkiremove removes the registry entry for + all instances on a machine +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Bugzilla Bug #689453 - CRMFPopClient request to CA's unsecure port + throws file not found exception. +- 'pki-common' +- Bugzilla Bug #692990 - Audit log messages needed to match CC doc: + DRM Recovery audit log messages +- 'pki-selinux' +- 'pki-ca' +- 'pki-silent' + +* Tue Apr 5 2011 Matthew Harmsen 9.0.5-2 +- Bugzilla Bug #693327 - Missing requires: tomcatjss + +* Fri Mar 25 2011 Matthew Harmsen 9.0.5-1 +- Bugzilla Bug #690950 - Update Dogtag Packages for Fedora 15 (beta) +- Require "jss >= 4.2.6-15" as a build and runtime requirement +- Require "tomcatjss >= 2.1.1" as a build and runtime requirement + for Fedora 15 and later platforms +- 'pki-setup' +- Bugzilla Bug #688287 - Add "deprecation" notice regarding using + "shared ports" in pkicreate -help . . . +- Bugzilla Bug #688251 - Dogtag installation under IPA takes + too much time - SELinux policy compilation +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Bugzilla Bug #689501 - ExtJoiner tool fails to join the multiple + extensions +- 'pki-common' +- Bugzilla Bug #683581 - CA configuration with ECC(Default + EC curve-nistp521) CA fails with 'signing operation failed' +- Bugzilla Bug #689662 - ocsp publishing needs to be re-enabled + on the EE port +- 'pki-selinux' +- Bugzilla Bug #684871 - ldaps selinux link change +- 'pki-ca' +- Bugzilla Bug #683581 - CA configuration with ECC(Default + EC curve-nistp521) CA fails with 'signing operation failed' +- Bugzilla Bug #684381 - CS.cfg specifies incorrect type of comments +- Bugzilla Bug #689453 - CRMFPopClient request to CA's unsecure port + throws file not found exception.(profile and CS.cfg only) +- 'pki-silent' + +* Thu Mar 17 2011 Matthew Harmsen 9.0.4-1 +- Bugzilla Bug #688763 - Rebase updated Dogtag Packages for Fedora 15 (alpha) +- Bugzilla Bug #676182 - IPA installation failing - Fails to create CA + instance +- Bugzilla Bug #675742 - Profile caIPAserviceCert Not Found +- 'pki-setup' +- Bugzilla Bug #678157 - uninitialized variable warnings from Perl +- Bugzilla Bug #679574 - Velocity fails to load all dependent classes +- Bugzilla Bug #680420 - xml-commons-apis.jar dependency +- Bugzilla Bug #682013 - pkisilent needs xml-commons-apis.jar in it's + classpath +- Bugzilla Bug #673508 - CS8 64 bit pkicreate script uses wrong library + name for SafeNet LunaSA +- 'pki-common' +- Bugzilla Bug #673638 - Installation within IPA hangs +- Bugzilla Bug #678715 - netstat loop fixes needed +- Bugzilla Bug #673609 - CC: authorize() call needs to be added to + getStats servlet +- 'pki-selinux' +- Bugzilla Bug #674195: SELinux error message thrown during token + enrollment +- 'pki-ca' +- Bugzilla Bug #673638 - Installation within IPA hangs +- Bugzilla Bug #673609 - CC: authorize() call needs to be added to + getStats servlet +- Bugzilla Bug #676330 - init script cannot start service +- 'pki-silent' +- Bugzilla Bug #682013 - pkisilent needs xml-commons-apis.jar in it's + classpath + +* Wed Feb 9 2011 Matthew Harmsen 9.0.3-2 +- 'pki-common' +- Bugzilla Bug #676051 - IPA installation failing - Fails to create CA + instance +- Bugzilla Bug #676182 - IPA installation failing - Fails to create CA + instance + +* Fri Feb 4 2011 Matthew Harmsen 9.0.3-1 +- 'pki-common' +- Bugzilla Bug #674894 - ipactl restart : an annoy output line +- Bugzilla Bug #675179 - ipactl restart : an annoy output line + +* Thu Feb 3 2011 Matthew Harmsen 9.0.2-1 +- Bugzilla Bug #673233 - Rebase pki-core to pick the latest features and fixes +- 'pki-setup' +- Bugzilla Bug #673638 - Installation within IPA hangs +- 'pki-symkey' +- 'pki-native-tools' +- 'pki-util' +- 'pki-java-tools' +- Bugzilla Bug #673614 - CC: Review of cryptographic algorithms provided + by 'netscape.security.provider' package +- 'pki-common' +- Bugzilla Bug #672291 - CA is not publishing certificates issued using + "Manual User Dual-Use Certificate Enrollment" +- Bugzilla Bug #670337 - CA Clone configuration throws TCP connection + error. +- Bugzilla Bug #504056 - Completed SCEP requests are assigned to the + "begin" state instead of "complete". +- Bugzilla Bug #504055 - SCEP requests are not properly populated +- Bugzilla Bug #564207 - Searches for completed requests in the agent + interface returns zero entries +- Bugzilla Bug #672291 - CA is not publishing certificates issued using + "Manual User Dual-Use Certificate Enrollment" - +- Bugzilla Bug #673614 - CC: Review of cryptographic algorithms provided + by 'netscape.security.provider' package +- Bugzilla Bug #672920 - CA console: adding policy to a profile throws + 'Duplicate policy' error in some cases. +- Bugzilla Bug #673199 - init script returns control before web apps have + started +- Bugzilla Bug #674917 - Restore identification of Tomcat-based PKI + subsystem instances +- 'pki-selinux' +- 'pki-ca' +- Bugzilla Bug #504013 - sscep request is rejected due to authentication + error if submitted through one time pin router certificate enrollment. +- Bugzilla Bug #672111 - CC doc: certServer.usrgrp.administration missing + information +- Bugzilla Bug #583825 - CC: Obsolete servlets to be removed from web.xml + as part of CC interface review +- Bugzilla Bug #672333 - Creation of RA agent fails in IPA installation +- Bugzilla Bug #674917 - Restore identification of Tomcat-based PKI + subsystem instances +- 'pki-silent' +- Bugzilla Bug #673614 - CC: Review of cryptographic algorithms provided + by 'netscape.security.provider' package + +* Wed Feb 2 2011 Matthew Harmsen 9.0.1-3 +- Bugzilla Bug #656661 - Please Update Spec File to use 'ghost' on files + in /var/run and /var/lock + +* Thu Jan 20 2011 Matthew Harmsen 9.0.1-2 +- 'pki-symkey' +- Bugzilla Bug #671265 - pki-symkey jar version incorrect +- 'pki-common' +- Bugzilla Bug #564207 - Searches for completed requests in the agent + interface returns zero entries + +* Tue Jan 18 2011 Matthew Harmsen 9.0.1-1 +- Allow 'pki-native-tools' to be installed independently of 'pki-setup' +- Removed explicit 'pki-setup' requirement from 'pki-ca' + (since it already requires 'pki-common') +- 'pki-setup' +- Bugzilla Bug #223343 - pkicreate: should add 'pkiuser' to nfast group +- Bugzilla Bug #629377 - Selinux errors during pkicreate CA, KRA, OCSP + and TKS. +- Bugzilla Bug #555927 - rhcs80 - AgentRequestFilter servlet and port + fowarding for agent services +- Bugzilla Bug #632425 - Port to tomcat6 +- Bugzilla Bug #606946 - Convert Native Tools to use ldapAPI from + OpenLDAP instead of the Mozldap +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #658926 - org.apache.commons.lang class not found on F13 +- Bugzilla Bug #661514 - CMAKE build system requires rules to make + javadocs +- Bugzilla Bug #665388 - jakarta-* jars have been renamed to apache-*, + pkicreate fails Fedora 14 and above +- Bugzilla Bug #23346 - Two conflicting ACL list definitions in source + repository +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- 'pki-symkey' +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #644056 - CS build contains warnings +- 'pki-native-tools' +- template change +- Bugzilla Bug #606946 - Convert Native Tools to use ldapAPI from + OpenLDAP instead of the Mozldap +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #644056 - CS build contains warnings +- 'pki-util' +- Bugzilla Bug #615814 - rhcs80 - profile policyConstraintsCritical + cannot be set to true +- Bugzilla Bug #224945 - javadocs has missing descriptions, contains + empty packages +- Bugzilla Bug #621337 - Limit the received senderNonce value to 16 bytes. +- Bugzilla Bug #621338 - Include a server randomly-generated 16 byte + senderNonce in all signed SCEP responses. +- Bugzilla Bug #621327 - Provide switch disabling algorithm downgrade + attack in SCEP +- Bugzilla Bug #621334 - Provide an option to set default hash algorithm + for signing SCEP response messages. +- Bugzilla Bug #635033 - At installation wizard selecting key types other + than CA's signing cert will fail +- Bugzilla Bug #645874 - rfe ecc - add ecc curve name support in JSS and + CS interface +- Bugzilla Bug #488253 - com.netscape.cmsutil.ocsp.BasicOCSPResponse + ASN.1 encoding/decoding is broken +- Bugzilla Bug #551410 - com.netscape.cmsutil.ocsp.TBSRequest ASN.1 + encoding/decoding is incomplete +- Bugzilla Bug #550331 - com.netscape.cmsutil.ocsp.ResponseData ASN.1 + encoding/decoding is incomplete +- Bugzilla Bug #623452 - rhcs80 pkiconsole profile policy editor limit + policy extension to 5 only +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #651977 - turn off ssl2 for java servers (server.xml) +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #661514 - CMAKE build system requires rules to make + javadocs +- Bugzilla Bug #658188 - remove remaining references to tomcat5 +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- Bugzilla Bug #223319 - Certificate Status inconsistency between token + db and CA +- Bugzilla Bug #531137 - RHCS 7.1 - Running out of Java Heap Memory + During CRL Generation +- 'pki-java-tools' +- Bugzilla Bug #224945 - javadocs has missing descriptions, contains + empty packages +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #659004 - CC: AuditVerify hardcoded with SHA-1 +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #661514 - CMAKE build system requires rules to make + javadocs +- Bugzilla Bug #662156 - HttpClient is hard-coded to handle only up to + 5000 bytes +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- 'pki-common' +- Bugzilla Bug #583822 - CC: ACL issues from CA interface CC doc review +- Bugzilla Bug #623745 - SessionTimer with LDAPSecurityDomainSessionTable + started before configuration completed +- Bugzilla Bug #620925 - CC: auditor needs to be able to download audit + logs in the java subsystems +- Bugzilla Bug #615827 - rhcs80 - profile policies need more than 5 + policy mappings (seem hardcoded) +- Bugzilla Bug #224945 - javadocs has missing descriptions, contains + empty packages +- Bugzilla Bug #548699 - subCA's admin certificate should be generated by + itself +- Bugzilla Bug #621322 - Provide switch disabling SCEP support in CA +- Bugzilla Bug #563386 - rhcs80 ca crash on invalid inputs to profile + caAgentServerCert (null cert_request) +- Bugzilla Bug #621339 - SCEP one-time PIN can be used an unlimited + number of times +- Bugzilla Bug #583825 - CC: Obsolete servlets to be removed from web.xml + as part of CC interface review +- Bugzilla Bug #629677 - TPS: token enrollment fails. +- Bugzilla Bug #621350 - Unauthenticated user can decrypt a one-time PIN + in a SCEP request +- Bugzilla Bug #503838 - rhcs71-80 external publishing ldap connection + pools not reliable - improve connections or discovery +- Bugzilla Bug #629769 - password decryption logs plain text password +- Bugzilla Bug #583823 - CC: Auditing issues found as result of + CC - interface review +- Bugzilla Bug #632425 - Port to tomcat6 +- Bugzilla Bug #586700 - OCSP Server throws fatal error while using + OCSP console for renewing SSL Server certificate. +- Bugzilla Bug #621337 - Limit the received senderNonce value to 16 bytes. +- Bugzilla Bug #621338 - Include a server randomly-generated 16 byte + senderNonce in all signed SCEP responses. +- Bugzilla Bug #607380 - CC: Make sure Java Console can configure all + security relevant config items +- Bugzilla Bug #558100 - host challenge of the Secure Channel needs to be + generated on TKS instead of TPS. +- Bugzilla Bug #489342 - + com.netscape.cms.servlet.common.CMCOutputTemplate.java + doesn't support EC +- Bugzilla Bug #630121 - OCSP responder lacking option to delete or + disable a CA that it serves +- Bugzilla Bug #634663 - CA CMC response default hard-coded to SHA1 +- Bugzilla Bug #621327 - Provide switch disabling algorithm downgrade + attack in SCEP +- Bugzilla Bug #621334 - Provide an option to set default hash algorithm + for signing SCEP response messages. +- Bugzilla Bug #635033 - At installation wizard selecting key types other + than CA's signing cert will fail +- Bugzilla Bug #621341 - Add CA support for new SCEP key pair dedicated + for SCEP signing and encryption. +- Bugzilla Bug #223336 - ECC: unable to clone a ECC CA +- Bugzilla Bug #539781 - rhcs 71 - CRLs Partitioned + by Reason Code - onlySomeReasons ? +- Bugzilla Bug #637330 - CC feature: Key Management - provide signature + verification functions (JAVA subsystems) +- Bugzilla Bug #223313 - should do random generated IV param + for symmetric keys +- Bugzilla Bug #555927 - rhcs80 - AgentRequestFilter servlet and port + fowarding for agent services +- Bugzilla Bug #630176 - Improve reliability of the LdapAnonConnFactory +- Bugzilla Bug #524916 - ECC key constraints plug-ins should be based on + ECC curve names (not on key sizes). +- Bugzilla Bug #516632 - RHCS 7.1 - CS Incorrectly Issuing Multiple + Certificates from the Same Request +- Bugzilla Bug #648757 - expose and use updated cert verification + function in JSS +- Bugzilla Bug #638242 - Installation Wizard: at SizePanel, fix selection + of signature algorithm; and for ECC curves +- Bugzilla Bug #451874 - RFE - Java console - Certificate Wizard missing + e.c. support +- Bugzilla Bug #651040 - cloning shoud not include sslserver +- Bugzilla Bug #542863 - RHCS8: Default cert audit nickname written to + CS.cfg files imcomplete when the cert is stored on a hsm +- Bugzilla Bug #360721 - New Feature: Profile Integrity Check . . . +- Bugzilla Bug #651916 - kra and ocsp are using incorrect ports + to talk to CA and complete configuration in DonePanel +- Bugzilla Bug #642359 - CC Feature - need to verify certificate when it + is added +- Bugzilla Bug #653713 - CC: setting trust on a CIMC cert requires + auditing +- Bugzilla Bug #489385 - references to rhpki +- Bugzilla Bug #499494 - change CA defaults to SHA2 +- Bugzilla Bug #623452 - rhcs80 pkiconsole profile policy editor limit + policy extension to 5 only +- Bugzilla Bug #649910 - Console: an auditor or agent can be added to + an administrator group. +- Bugzilla Bug #632425 - Port to tomcat6 +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #651977 - turn off ssl2 for java servers (server.xml) +- Bugzilla Bug #653576 - tomcat5 does not always run filters on servlets + as expected +- Bugzilla Bug #642357 - CC Feature- Self-Test plugins only check for + validity +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #659004 - CC: AuditVerify hardcoded with SHA-1 +- Bugzilla Bug #661196 - ECC(with nethsm) subca configuration fails with + Key Type RSA Not Matched despite using ECC key pairs for rootCA & subCA. +- Bugzilla Bug #661889 - The Servlet TPSRevokeCert of the CA returns an + error to TPS even if certificate in question is already revoked. +- Bugzilla Bug #663546 - Disable the functionalities that are not exposed + in the console +- Bugzilla Bug #661514 - CMAKE build system requires rules to make + javadocs +- Bugzilla Bug #658188 - remove remaining references to tomcat5 +- Bugzilla Bug #649343 - Publishing queue should recover from CA crash. +- Bugzilla Bug #491183 - rhcs rfe - add rfc 4523 support for pkiUser and + pkiCA, obsolete 2252 and 2256 +- Bugzilla Bug #640710 - Current SCEP implementation does not support HSMs +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- Bugzilla Bug #661142 - Verification should fail when + a revoked certificate is added +- Bugzilla Bug #642741 - CS build uses deprecated functions +- Bugzilla Bug #670337 - CA Clone configuration throws TCP connection error +- Bugzilla Bug #662127 - CC doc Error: SignedAuditLog expiration time + interface is no longer available through console +- 'pki-selinux' +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #667153 - store nuxwdog passwords in kernel ring buffer - + selinux changes +- 'pki-ca' +- Bugzilla Bug #583822 - CC: ACL issues from CA interface CC doc review +- Bugzilla Bug #620925 - CC: auditor needs to be able to download audit + logs in the java subsystems +- Bugzilla Bug #621322 - Provide switch disabling SCEP support in CA +- Bugzilla Bug #583824 - CC: Duplicate servlet mappings found as part of + CC interface doc review +- Bugzilla Bug #621602 - pkiconsole: Click on 'Publishing' option with + admin privilege throws error "You are not authorized to perform this + operation". +- Bugzilla Bug #583825 - CC: Obsolete servlets to be removed from web.xml + as part of CC interface review +- Bugzilla Bug #583823 - CC: Auditing issues found as result of + CC - interface review +- Bugzilla Bug #519291 - Deleting a CRL Issuing Point after edits throws + 'Internal Server Error'. +- Bugzilla Bug #586700 - OCSP Server throws fatal error while using + OCSP console for renewing SSL Server certificate. +- Bugzilla Bug #621337 - Limit the received senderNonce value to 16 bytes. +- Bugzilla Bug #621338 - Include a server randomly-generated 16 byte + senderNonce in all signed SCEP responses. +- Bugzilla Bug #558100 - host challenge of the Secure Channel needs to be + generated on TKS instead of TPS. +- Bugzilla Bug #630121 - OCSP responder lacking option to delete or + disable a CA that it serves +- Bugzilla Bug #634663 - CA CMC response default hard-coded to SHA1 +- Bugzilla Bug #621327 - Provide switch disabling algorithm downgrade + attack in SCEP +- Bugzilla Bug #621334 - Provide an option to set default hash algorithm + for signing SCEP response messages. +- Bugzilla Bug #539781 - rhcs 71 - CRLs Partitioned + by Reason Code - onlySomeReasons ? +- Bugzilla Bug #637330 - CC feature: Key Management - provide signature + verification functions (JAVA subsystems) +- Bugzilla Bug #555927 - rhcs80 - AgentRequestFilter servlet and port + fowarding for agent services +- Bugzilla Bug #524916 - ECC key constraints plug-ins should be based on + ECC curve names (not on key sizes). +- Bugzilla Bug #516632 - RHCS 7.1 - CS Incorrectly Issuing Multiple + Certificates from the Same Request +- Bugzilla Bug #638242 - Installation Wizard: at SizePanel, fix selection + of signature algorithm; and for ECC curves +- Bugzilla Bug #529945 - (Instructions and sample only) CS 8.0 GA + release -- DRM and TKS do not seem to have CRL checking enabled +- Bugzilla Bug #609641 - CC: need procedure (and possibly tools) to help + correctly set up CC environment +- Bugzilla Bug #509481 - RFE: support sMIMECapabilities extensions in + certificates (RFC 4262) +- Bugzilla Bug #651916 - kra and ocsp are using incorrect ports + to talk to CA and complete configuration in DonePanel +- Bugzilla Bug #511990 - rhcs 7.3, 8.0 - re-activate missing object + signing support in RHCS +- Bugzilla Bug #651977 - turn off ssl2 for java servers (server.xml) +- Bugzilla Bug #489385 - references to rhpki +- Bugzilla Bug #499494 - change CA defaults to SHA2 +- Bugzilla Bug #623452 - rhcs80 pkiconsole profile policy editor limit + policy extension to 5 only +- Bugzilla Bug #649910 - Console: an auditor or agent can be added to + an administrator group. +- Bugzilla Bug #632425 - Port to tomcat6 +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #653576 - tomcat5 does not always run filters on servlets + as expected +- Bugzilla Bug #642357 - CC Feature- Self-Test plugins only check for + validity +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #661128 - incorrect CA ports used for revoke, unrevoke + certs in TPS +- Bugzilla Bug #512496 - RFE rhcs80 - crl updates and scheduling feature +- Bugzilla Bug #661196 - ECC(with nethsm) subca configuration fails with + Key Type RSA Not Matched despite using ECC key pairs for rootCA & subCA. +- Bugzilla Bug #649343 - Publishing queue should recover from CA crash. +- Bugzilla Bug #491183 - rhcs rfe - add rfc 4523 support for pkiUser and + pkiCA, obsolete 2252 and 2256 +- Bugzilla Bug #223346 - Two conflicting ACL list definitions in source + repository +- Bugzilla Bug #640710 - Current SCEP implementation does not support HSMs +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- Bugzilla Bug #661142 - Verification should fail when + a revoked certificate is added +- Bugzilla Bug #668100 - DRM storage cert has OCSP signing extended key + usage +- Bugzilla Bug #662127 - CC doc Error: SignedAuditLog expiration time + interface is no longer available through console +- Bugzilla Bug #531137 - RHCS 7.1 - Running out of Java Heap Memory + During CRL Generation +- 'pki-silent' +- Bugzilla Bug #627309 - pkisilent subca configuration fails. +- Bugzilla Bug #640091 - pkisilent panels need to match with changed java + subsystems +- Bugzilla Bug #527322 - pkisilent ConfigureDRM should configure DRM + Clone. +- Bugzilla Bug #643053 - pkisilent DRM configuration fails +- Bugzilla Bug #583754 - pki-silent needs an option to configure signing + algorithm for CA certificates +- Bugzilla Bug #489385 - references to rhpki +- Bugzilla Bug #638377 - Generate PKI UI components which exclude a GUI + interface +- Bugzilla Bug #651977 - turn off ssl2 for java servers (server.xml) +- Bugzilla Bug #640042 - TPS Installlation Wizard: need to move Module + Panel up to before Security Domain Panel +- Bugzilla Bug #643206 - New CMake based build system for Dogtag +- Bugzilla Bug #588323 - Failed to enable cipher 0xc001 +- Bugzilla Bug #656733 - Standardize jar install location and jar names +- Bugzilla Bug #645895 - pkisilent: add ability to select ECC curves, + signing algorithm +- Bugzilla Bug #658641 - pkisilent doesn't not properly handle passwords + with special characters +- Bugzilla Bug #642741 - CS build uses deprecated functions + +* Thu Jan 13 2011 Matthew Harmsen 9.0.0-3 +- Bugzilla Bug #668839 - Review Request: pki-core +- Removed empty "pre" from "pki-ca" +- Consolidated directory ownership +- Corrected file ownership within subpackages +- Removed all versioning from NSS and NSPR packages + +* Thu Jan 13 2011 Matthew Harmsen 9.0.0-2 +- Bugzilla Bug #668839 - Review Request: pki-core +- Added component versioning comments +- Updated JSS from "4.2.6-10" to "4.2.6-12" +- Modified installation section to preserve timestamps +- Removed sectional comments + +* Wed Dec 1 2010 Matthew Harmsen 9.0.0-1 +- Initial revision. (kwright@redhat.com & mharmsen@redhat.com) +