Blame SOURCES/pki-core-10.5.9-batch-1.0.patch

5348b8
From ae472954d4b1a62b368acf044ac5e7c15ef8d0e4 Mon Sep 17 00:00:00 2001
5348b8
From: John Magne <jmagne@mharmsen-rhel7.usersys.redhat.com>
5348b8
Date: Fri, 19 Oct 2018 19:23:37 -0400
5348b8
Subject: [PATCH 03/19] Resolves: Bug 1624097 - CC: Identify version/release of
5348b8
 pki-ca, pki-kra, pki-ocsp, pki-tks, and pki-tps remotely.
5348b8
5348b8
---
5348b8
 .../netscape/cms/servlet/csadmin/GetStatus.java    | 48 ++++++++++++++++++++++
5348b8
 1 file changed, 48 insertions(+)
5348b8
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/GetStatus.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/GetStatus.java
5348b8
index 1d2d0e6..338e26b 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/GetStatus.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/GetStatus.java
5348b8
@@ -18,6 +18,7 @@
5348b8
 package com.netscape.cms.servlet.csadmin;
5348b8
 
5348b8
 import java.io.IOException;
5348b8
+import java.io.FileInputStream;
5348b8
 import java.util.Locale;
5348b8
 
5348b8
 import javax.servlet.ServletConfig;
5348b8
@@ -34,6 +35,8 @@ import com.netscape.cms.servlet.base.CMSServlet;
5348b8
 import com.netscape.cms.servlet.base.UserInfo;
5348b8
 import com.netscape.cms.servlet.common.CMSRequest;
5348b8
 import com.netscape.cmsutil.xml.XMLObject;
5348b8
+import org.apache.commons.io.IOUtils;
5348b8
+import org.apache.commons.lang.StringUtils;
5348b8
 
5348b8
 public class GetStatus extends CMSServlet {
5348b8
 
5348b8
@@ -41,6 +44,8 @@ public class GetStatus extends CMSServlet {
5348b8
      *
5348b8
      */
5348b8
     private static final long serialVersionUID = -2852842030221659847L;
5348b8
+    // File below will be a member of a pki theme package.
5348b8
+    private static final String productVersionFILE = "/usr/share/pki/CS_SERVER_VERSION";
5348b8
 
5348b8
     public GetStatus() {
5348b8
         super();
5348b8
@@ -80,6 +85,13 @@ public class GetStatus extends CMSServlet {
5348b8
             xmlObj.addItemToContainer(root, "Type", type);
5348b8
             xmlObj.addItemToContainer(root, "Status", status);
5348b8
             xmlObj.addItemToContainer(root, "Version", version);
5348b8
+            // File below will be a member of a pki theme package.
5348b8
+            String productVersion = getProductVersion(productVersionFILE);
5348b8
+
5348b8
+            if(!StringUtils.isEmpty(productVersion)) {
5348b8
+                xmlObj.addItemToContainer(root,"ProductVersion", productVersion);
5348b8
+            }
5348b8
+
5348b8
             byte[] cb = xmlObj.toByteArray();
5348b8
 
5348b8
             outputResult(httpResp, "application/xml", cb);
5348b8
@@ -108,4 +120,40 @@ public class GetStatus extends CMSServlet {
5348b8
         return locale;
5348b8
     }
5348b8
 
5348b8
+    /**
5348b8
+     * Return the product version if the file: /usr/share/pki/CS_SERVER_VERSION
5348b8
+     * exists.
5348b8
+     *
5348b8
+     * Caller only cares if there is a string or not, exceptions handled here.
5348b8
+     */
5348b8
+    private String getProductVersion(String versionFilePathName) {
5348b8
+        String version = null;
5348b8
+        FileInputStream inputStream = null;
5348b8
+
5348b8
+        if(StringUtils.isEmpty(versionFilePathName)) {
5348b8
+            CMS.debug("Missing product version file path!");
5348b8
+            return null;
5348b8
+        }
5348b8
+
5348b8
+        try {
5348b8
+            inputStream = new FileInputStream(versionFilePathName);
5348b8
+            String contents = IOUtils.toString(inputStream);
5348b8
+            
5348b8
+            if(contents != null) {
5348b8
+                CMS.debug("Returning product version: " + version);
5348b8
+                version = contents.trim();
5348b8
+            }
5348b8
+        } catch (Exception e) {
5348b8
+            CMS.debug("Failed to read product version String. " + e);
5348b8
+        }
5348b8
+        finally {
5348b8
+            if(inputStream != null) {
5348b8
+                try {
5348b8
+                    inputStream.close();
5348b8
+                } catch (IOException e) {
5348b8
+                }
5348b8
+            }
5348b8
+        }
5348b8
+        return version;
5348b8
+    }
5348b8
 }
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 28452a131f11d6372beb6bc262b7c26bb4cb1961 Mon Sep 17 00:00:00 2001
5348b8
From: Matthew Harmsen <mharmsen@redhat.com>
5348b8
Date: Fri, 14 Sep 2018 19:19:23 -0600
5348b8
Subject: [PATCH 04/19] Ticket 2865 X500Name.directoryStringEncodingOrder
5348b8
 overridden by CSR encoding
5348b8
5348b8
https://pagure.io/dogtagpki/issue/2865 coverity fixes
5348b8
(cherry picked from commit b375305e00dedc4127e5aa1b97e11dcc26a68f72)
5348b8
---
5348b8
 .../netscape/cms/profile/def/UserSubjectNameDefault.java   | 14 +++++++++++++-
5348b8
 1 file changed, 13 insertions(+), 1 deletion(-)
5348b8
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/profile/def/UserSubjectNameDefault.java b/base/server/cms/src/com/netscape/cms/profile/def/UserSubjectNameDefault.java
5348b8
index 636b045..459735e 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/profile/def/UserSubjectNameDefault.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/profile/def/UserSubjectNameDefault.java
5348b8
@@ -105,7 +105,13 @@ public class UserSubjectNameDefault extends EnrollDefault {
5348b8
                      * keep the old name so that the attribute
5348b8
                      * encodings are preserved. */
5348b8
                     X500Name oldX500name = oldName.getX500Name();
5348b8
-                    if (x500name.toString().equals(oldX500name.toString())) {
5348b8
+                    if (x500name == null) {
5348b8
+                        CMS.debug( method
5348b8
+                            + "new Subject DN is null; "
5348b8
+                            + "retaining current value."
5348b8
+                        );
5348b8
+                        x500name = oldX500name;
5348b8
+                    } else if (x500name.toString().equals(oldX500name.toString())) {
5348b8
                         CMS.debug( method
5348b8
                             + "new Subject DN has same string representation "
5348b8
                             + "as current value; retaining current value."
5348b8
@@ -196,6 +202,12 @@ public class UserSubjectNameDefault extends EnrollDefault {
5348b8
         // to the certinfo
5348b8
         CertificateSubjectName req_sbj = request.getExtDataInCertSubjectName(
5348b8
                     IEnrollProfile.REQUEST_SUBJECT_NAME);
5348b8
+        if (req_sbj == null) {
5348b8
+            // failed to retrieve subject name
5348b8
+            CMS.debug("UserSubjectNameDefault: populate req_sbj is null");
5348b8
+            throw new EProfileException(CMS.getUserMessage(getLocale(request),
5348b8
+                        "CMS_PROFILE_SUBJECT_NAME_NOT_FOUND"));
5348b8
+        }
5348b8
         try {
5348b8
             info.set(X509CertInfo.SUBJECT, req_sbj);
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 2180a832fa531120c9fe2dead72b58e615ef4744 Mon Sep 17 00:00:00 2001
5348b8
From: Christina Fu <cfu@redhat.com>
5348b8
Date: Wed, 22 Aug 2018 18:12:06 -0700
5348b8
Subject: [PATCH 07/19] ticket #2879 audit events for CA acting as TLS client
5348b8
5348b8
This patch provides code for ticket 2879, adding audit events for CS when
5348b8
 acting as a TLS client.
5348b8
5348b8
For a running CS system, there are two cases when this happens:
5348b8
1. When one CS subsystem is talking to another CS subsystem
5348b8
    In this case: HttpClient is used
5348b8
2. When a CS subsystem is talking to an ldap syste
5348b8
    In this case: PKISocketFactory is used
5348b8
5348b8
Events added are:
5348b8
 - LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE
5348b8
 - LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS
5348b8
 - LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_TERMINATED
5348b8
5348b8
https://pagure.io/dogtagpki/issue/2879
5348b8
5348b8
Change-Id: Ib8e4c27c57cb2b13b461c36f37f52dc6a13956f8
5348b8
(cherry picked from commit add6813cb15673d604f05173585101a6e56745ca)
5348b8
---
5348b8
 base/ca/shared/conf/CS.cfg                         |   4 +-
5348b8
 .../event/ClientAccessSessionEstablishEvent.java   |  74 +++++++
5348b8
 .../event/ClientAccessSessionTerminatedEvent.java  |  53 +++++
5348b8
 base/kra/shared/conf/CS.cfg                        |   4 +-
5348b8
 base/ocsp/shared/conf/CS.cfg                       |   4 +-
5348b8
 .../cms/publish/publishers/OCSPPublisher.java      |   4 +
5348b8
 .../dogtagpki/server/PKIClientSocketListener.java  | 230 +++++++++++++++++++++
5348b8
 base/server/cmsbundle/src/LogMessages.properties   |  20 ++
5348b8
 .../cmscore/connector/HttpConnFactory.java         |   6 +
5348b8
 .../netscape/cmscore/connector/HttpConnection.java |  42 ++++
5348b8
 .../netscape/cmscore/connector/HttpConnector.java  |  10 +
5348b8
 .../com/netscape/cmscore/connector/Resender.java   |   8 +-
5348b8
 .../cmscore/ldapconn/PKISocketFactory.java         |   9 +-
5348b8
 base/tks/shared/conf/CS.cfg                        |   4 +-
5348b8
 .../src/com/netscape/cmsutil/http/HttpClient.java  |  14 ++
5348b8
 .../netscape/cmsutil/http/JssSSLSocketFactory.java |   8 +
5348b8
 16 files changed, 484 insertions(+), 10 deletions(-)
5348b8
 create mode 100644 base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionEstablishEvent.java
5348b8
 create mode 100644 base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionTerminatedEvent.java
5348b8
 create mode 100644 base/server/cms/src/org/dogtagpki/server/PKIClientSocketListener.java
5348b8
5348b8
diff --git a/base/ca/shared/conf/CS.cfg b/base/ca/shared/conf/CS.cfg
5348b8
index 92504ff..4cef240 100644
5348b8
--- a/base/ca/shared/conf/CS.cfg
5348b8
+++ b/base/ca/shared/conf/CS.cfg
5348b8
@@ -905,11 +905,11 @@ log.instance.SignedAudit._001=## Signed Audit Logging
5348b8
 log.instance.SignedAudit._002=##
5348b8
 log.instance.SignedAudit._003=##
5348b8
 log.instance.SignedAudit._004=## Available Audit events:
5348b8
-log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,CERT_SIGNING_INFO,OCSP_SIGNING_INFO,CRL_SIGNING_INFO,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CMC_PROOF_OF_IDENTIFICATION,CMC_ID_POP_LINK_WITNESS,SCHEDULE_CRL_GENERATION,DELTA_CRL_GENERATION,DELTA_CRL_PUBLISHING,FULL_CRL_GENERATION,FULL_CRL_PUBLISHING,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,CMC_USER_SIGNED_REQUEST_SIG_VERIFY,CMC_REQUEST_RECEIVED,CMC_RESPONSE_SENT,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,OCSP_GENERATION,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,SECURITY_DOMAIN_UPDATE,CONFIG_SERIAL_NUMBER,AUTHORITY_CONFIG,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,SECURITY_DATA_ARCHIVAL_REQUEST,RANDOM_GENERATION
5348b8
+log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,CERT_SIGNING_INFO,OCSP_SIGNING_INFO,CRL_SIGNING_INFO,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CMC_PROOF_OF_IDENTIFICATION,CMC_ID_POP_LINK_WITNESS,SCHEDULE_CRL_GENERATION,DELTA_CRL_GENERATION,DELTA_CRL_PUBLISHING,FULL_CRL_GENERATION,FULL_CRL_PUBLISHING,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,CMC_USER_SIGNED_REQUEST_SIG_VERIFY,CMC_REQUEST_RECEIVED,CMC_RESPONSE_SENT,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,OCSP_GENERATION,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,SECURITY_DOMAIN_UPDATE,CONFIG_SERIAL_NUMBER,AUTHORITY_CONFIG,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,SECURITY_DATA_ARCHIVAL_REQUEST,RANDOM_GENERATION
5348b8
 log.instance.SignedAudit._006=##
5348b8
 log.instance.SignedAudit.bufferSize=512
5348b8
 log.instance.SignedAudit.enable=true
5348b8
-log.instance.SignedAudit.events=ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CERT_REQUEST_PROCESSED,CERT_SIGNING_INFO,CMC_SIGNED_REQUEST_SIG_VERIFY,CMC_USER_SIGNED_REQUEST_SIG_VERIFY,CMC_REQUEST_RECEIVED,CMC_RESPONSE_SENT,CONFIG_AUTH,CONFIG_CERT_PROFILE,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SERIAL_NUMBER,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,CRL_SIGNING_INFO,DELTA_CRL_GENERATION,FULL_CRL_GENERATION,LOG_PATH_CHANGE,OCSP_GENERATION,OCSP_SIGNING_INFO,PROFILE_CERT_REQUEST,PROOF_OF_POSSESSION,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CERT_STATUS_CHANGE_REQUEST_PROCESSED,CERT_PROFILE_APPROVAL,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_ACL,CONFIG_DRM,AUTHORITY_CONFIG
5348b8
+log.instance.SignedAudit.events=CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CERT_REQUEST_PROCESSED,CERT_SIGNING_INFO,CMC_SIGNED_REQUEST_SIG_VERIFY,CMC_USER_SIGNED_REQUEST_SIG_VERIFY,CMC_REQUEST_RECEIVED,CMC_RESPONSE_SENT,CONFIG_AUTH,CONFIG_CERT_PROFILE,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SERIAL_NUMBER,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,CRL_SIGNING_INFO,DELTA_CRL_GENERATION,FULL_CRL_GENERATION,LOG_PATH_CHANGE,OCSP_GENERATION,OCSP_SIGNING_INFO,PROFILE_CERT_REQUEST,PROOF_OF_POSSESSION,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CERT_STATUS_CHANGE_REQUEST_PROCESSED,CERT_PROFILE_APPROVAL,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_ACL,CONFIG_DRM,AUTHORITY_CONFIG
5348b8
 log.instance.SignedAudit.filters.CMC_SIGNED_REQUEST_SIG_VERIFY=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.CMC_USER_SIGNED_REQUEST_SIG_VERIFY=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.DELTA_CRL_GENERATION=(Outcome=Failure)
5348b8
diff --git a/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionEstablishEvent.java b/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionEstablishEvent.java
5348b8
new file mode 100644
5348b8
index 0000000..f54641a
5348b8
--- /dev/null
5348b8
+++ b/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionEstablishEvent.java
5348b8
@@ -0,0 +1,74 @@
5348b8
+// --- BEGIN COPYRIGHT BLOCK ---
5348b8
+// This program is free software; you can redistribute it and/or modify
5348b8
+// it under the terms of the GNU General Public License as published by
5348b8
+// the Free Software Foundation; version 2 of the License.
5348b8
+//
5348b8
+// This program is distributed in the hope that it will be useful,
5348b8
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
5348b8
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5348b8
+// GNU General Public License for more details.
5348b8
+//
5348b8
+// You should have received a copy of the GNU General Public License along
5348b8
+// with this program; if not, write to the Free Software Foundation, Inc.,
5348b8
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
5348b8
+//
5348b8
+// (C) 2017 Red Hat, Inc.
5348b8
+// All rights reserved.
5348b8
+// --- END COPYRIGHT BLOCK ---
5348b8
+package com.netscape.certsrv.logging.event;
5348b8
+
5348b8
+import com.netscape.certsrv.logging.ILogger;
5348b8
+import com.netscape.certsrv.logging.SignedAuditEvent;
5348b8
+
5348b8
+public class ClientAccessSessionEstablishEvent extends SignedAuditEvent {
5348b8
+
5348b8
+    private static final long serialVersionUID = 1L;
5348b8
+
5348b8
+    public final static String CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS =
5348b8
+            "LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS";
5348b8
+
5348b8
+    public final static String CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE =
5348b8
+            "LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE";
5348b8
+
5348b8
+    public ClientAccessSessionEstablishEvent(String messageID) {
5348b8
+        super(messageID);
5348b8
+    }
5348b8
+
5348b8
+    public static ClientAccessSessionEstablishEvent createSuccessEvent(
5348b8
+            String clientHost,
5348b8
+            String serverHost,
5348b8
+            String serverPort,
5348b8
+            String subjectID) {
5348b8
+
5348b8
+        ClientAccessSessionEstablishEvent event = new ClientAccessSessionEstablishEvent(
5348b8
+                CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS);
5348b8
+
5348b8
+        event.setAttribute("ClientHost", clientHost);
5348b8
+        event.setAttribute("ServerHost", serverHost);
5348b8
+        event.setAttribute("ServerPort", serverPort);
5348b8
+        event.setAttribute("SubjectID", subjectID);
5348b8
+        event.setAttribute("Outcome", ILogger.SUCCESS);
5348b8
+
5348b8
+        return event;
5348b8
+    }
5348b8
+
5348b8
+    public static ClientAccessSessionEstablishEvent createFailureEvent(
5348b8
+            String clientHost,
5348b8
+            String serverHost,
5348b8
+            String serverPort,
5348b8
+            String subjectID,
5348b8
+            String info) {
5348b8
+
5348b8
+        ClientAccessSessionEstablishEvent event = new ClientAccessSessionEstablishEvent(
5348b8
+                CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE);
5348b8
+
5348b8
+        event.setAttribute("ClientHost", clientHost);
5348b8
+        event.setAttribute("ServerHost", serverHost);
5348b8
+        event.setAttribute("ServerPort", serverPort);
5348b8
+        event.setAttribute("SubjectID", subjectID);
5348b8
+        event.setAttribute("Outcome", ILogger.FAILURE);
5348b8
+        event.setAttribute("Info", info);
5348b8
+
5348b8
+        return event;
5348b8
+    }
5348b8
+}
5348b8
diff --git a/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionTerminatedEvent.java b/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionTerminatedEvent.java
5348b8
new file mode 100644
5348b8
index 0000000..cad0c97
5348b8
--- /dev/null
5348b8
+++ b/base/common/src/com/netscape/certsrv/logging/event/ClientAccessSessionTerminatedEvent.java
5348b8
@@ -0,0 +1,53 @@
5348b8
+// --- BEGIN COPYRIGHT BLOCK ---
5348b8
+// This program is free software; you can redistribute it and/or modify
5348b8
+// it under the terms of the GNU General Public License as published by
5348b8
+// the Free Software Foundation; version 2 of the License.
5348b8
+//
5348b8
+// This program is distributed in the hope that it will be useful,
5348b8
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
5348b8
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5348b8
+// GNU General Public License for more details.
5348b8
+//
5348b8
+// You should have received a copy of the GNU General Public License along
5348b8
+// with this program; if not, write to the Free Software Foundation, Inc.,
5348b8
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
5348b8
+//
5348b8
+// (C) 2017 Red Hat, Inc.
5348b8
+// All rights reserved.
5348b8
+// --- END COPYRIGHT BLOCK ---
5348b8
+package com.netscape.certsrv.logging.event;
5348b8
+
5348b8
+import com.netscape.certsrv.logging.ILogger;
5348b8
+import com.netscape.certsrv.logging.SignedAuditEvent;
5348b8
+
5348b8
+public class ClientAccessSessionTerminatedEvent extends SignedAuditEvent {
5348b8
+
5348b8
+    private static final long serialVersionUID = 1L;
5348b8
+
5348b8
+    public final static String CLIENT_ACCESS_SESSION_TERMINATED =
5348b8
+            "LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_TERMINATED";
5348b8
+
5348b8
+    public ClientAccessSessionTerminatedEvent(String messageID) {
5348b8
+        super(messageID);
5348b8
+    }
5348b8
+
5348b8
+    public static ClientAccessSessionTerminatedEvent createEvent(
5348b8
+            String clientHost,
5348b8
+            String serverHost,
5348b8
+            String serverPort,
5348b8
+            String subjectID,
5348b8
+            String info) {
5348b8
+
5348b8
+        ClientAccessSessionTerminatedEvent event = new ClientAccessSessionTerminatedEvent(
5348b8
+                CLIENT_ACCESS_SESSION_TERMINATED);
5348b8
+
5348b8
+        event.setAttribute("ClientHost", clientHost);
5348b8
+        event.setAttribute("ServerHost", serverHost);
5348b8
+        event.setAttribute("ServerPort", serverPort);
5348b8
+        event.setAttribute("SubjectID", subjectID);
5348b8
+        event.setAttribute("Outcome", ILogger.SUCCESS);
5348b8
+        event.setAttribute("Info", info);
5348b8
+
5348b8
+        return event;
5348b8
+    }
5348b8
+}
5348b8
diff --git a/base/kra/shared/conf/CS.cfg b/base/kra/shared/conf/CS.cfg
5348b8
index 878e5f8..6108576 100644
5348b8
--- a/base/kra/shared/conf/CS.cfg
5348b8
+++ b/base/kra/shared/conf/CS.cfg
5348b8
@@ -300,11 +300,11 @@ log.instance.SignedAudit._001=## Signed Audit Logging
5348b8
 log.instance.SignedAudit._002=##
5348b8
 log.instance.SignedAudit._003=##
5348b8
 log.instance.SignedAudit._004=## Available Audit events:
5348b8
-log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,KEY_RECOVERY_AGENT_LOGIN,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,CONFIG_SERIAL_NUMBER,SECURITY_DATA_ARCHIVAL_REQUEST,SECURITY_DATA_ARCHIVAL_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST,SECURITY_DATA_RECOVERY_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST_STATE_CHANGE,SECURITY_DATA_EXPORT_KEY,SYMKEY_GENERATION_REQUEST,SYMKEY_GENERATION_REQUEST_PROCESSED,ASYMKEY_GENERATION_REQUEST,ASYMKEY_GENERATION_REQUEST_PROCESSED,KEY_STATUS_CHANGE,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,SECURITY_DATA_INFO,RANDOM_GENERATION
5348b8
+log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,KEY_RECOVERY_AGENT_LOGIN,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,CONFIG_SERIAL_NUMBER,SECURITY_DATA_ARCHIVAL_REQUEST,SECURITY_DATA_ARCHIVAL_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST,SECURITY_DATA_RECOVERY_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST_STATE_CHANGE,SECURITY_DATA_EXPORT_KEY,SYMKEY_GENERATION_REQUEST,SYMKEY_GENERATION_REQUEST_PROCESSED,ASYMKEY_GENERATION_REQUEST,ASYMKEY_GENERATION_REQUEST_PROCESSED,KEY_STATUS_CHANGE,CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,SECURITY_DATA_INFO,RANDOM_GENERATION
5348b8
 log.instance.SignedAudit._006=##
5348b8
 log.instance.SignedAudit.bufferSize=512
5348b8
 log.instance.SignedAudit.enable=true
5348b8
-log.instance.SignedAudit.events=ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,ASYMKEY_GENERATION_REQUEST,ASYMKEY_GEN_REQUEST_PROCESSED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_DRM,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SERIAL_NUMBER,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,KEY_GEN_ASYMMETRIC,KEY_RECOVERY_AGENT_LOGIN,LOG_PATH_CHANGE,PROFILE_CERT_REQUEST,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DATA_ARCHIVAL_REQUEST,SECURITY_DATA_ARCHIVAL_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST,SECURITY_DATA_RECOVERY_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST_STATE_CHANGE,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,SERVER_SIDE_KEYGEN_REQUEST,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED,SYMKEY_GENERATION_REQUEST,SYMKEY_GEN_REQUEST_PROCESSED,CONFIG_ACL
5348b8
+log.instance.SignedAudit.events=CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,ASYMKEY_GENERATION_REQUEST,ASYMKEY_GEN_REQUEST_PROCESSED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_DRM,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SERIAL_NUMBER,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,KEY_GEN_ASYMMETRIC,KEY_RECOVERY_AGENT_LOGIN,LOG_PATH_CHANGE,PROFILE_CERT_REQUEST,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DATA_ARCHIVAL_REQUEST,SECURITY_DATA_ARCHIVAL_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST,SECURITY_DATA_RECOVERY_REQUEST_PROCESSED,SECURITY_DATA_RECOVERY_REQUEST_STATE_CHANGE,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,SERVER_SIDE_KEYGEN_REQUEST,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED,SYMKEY_GENERATION_REQUEST,SYMKEY_GEN_REQUEST_PROCESSED,CONFIG_ACL
5348b8
 log.instance.SignedAudit.filters.ASYMKEY_GENERATION_REQUEST=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.ASYMKEY_GEN_REQUEST_PROCESSED=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.KEY_GEN_ASYMMETRIC=(Outcome=Failure)
5348b8
diff --git a/base/ocsp/shared/conf/CS.cfg b/base/ocsp/shared/conf/CS.cfg
5348b8
index b412e5e..d2e5256 100644
5348b8
--- a/base/ocsp/shared/conf/CS.cfg
5348b8
+++ b/base/ocsp/shared/conf/CS.cfg
5348b8
@@ -216,11 +216,11 @@ log.instance.SignedAudit._001=## Signed Audit Logging
5348b8
 log.instance.SignedAudit._002=##
5348b8
 log.instance.SignedAudit._003=##
5348b8
 log.instance.SignedAudit._004=## Available Audit events:
5348b8
-log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,OCSP_ADD_CA_REQUEST,OCSP_ADD_CA_REQUEST_PROCESSED,OCSP_REMOVE_CA_REQUEST,OCSP_REMOVE_CA_REQUEST_PROCESSED,OCSP_GENERATION,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,RANDOM_GENERATION
5348b8
+log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,OCSP_ADD_CA_REQUEST,OCSP_ADD_CA_REQUEST_PROCESSED,OCSP_REMOVE_CA_REQUEST,OCSP_REMOVE_CA_REQUEST_PROCESSED,OCSP_GENERATION,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,RANDOM_GENERATION
5348b8
 log.instance.SignedAudit._006=##
5348b8
 log.instance.SignedAudit.bufferSize=512
5348b8
 log.instance.SignedAudit.enable=true
5348b8
-log.instance.SignedAudit.events=ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_ENCRYPTION,CONFIG_OCSP_PROFILE,CONFIG_ROLE,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,LOG_PATH_CHANGE,OCSP_ADD_CA_REQUEST_PROCESSED,OCSP_REMOVE_CA_REQUEST_PROCESSED,OCSP_SIGNING_INFO,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CONFIG_ACL
5348b8
+log.instance.SignedAudit.events=CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_ENCRYPTION,CONFIG_OCSP_PROFILE,CONFIG_ROLE,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,LOG_PATH_CHANGE,OCSP_ADD_CA_REQUEST_PROCESSED,OCSP_REMOVE_CA_REQUEST_PROCESSED,OCSP_SIGNING_INFO,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CONFIG_ACL
5348b8
 log.instance.SignedAudit.filters.RANDOM_GENERATION=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.SELFTESTS_EXECUTION=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.expirationTime=0
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/publish/publishers/OCSPPublisher.java b/base/server/cms/src/com/netscape/cms/publish/publishers/OCSPPublisher.java
5348b8
index 11d44b8..d15523e 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/publish/publishers/OCSPPublisher.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/publish/publishers/OCSPPublisher.java
5348b8
@@ -42,6 +42,8 @@ import com.netscape.cmsutil.http.HttpRequest;
5348b8
 import com.netscape.cmsutil.http.JssSSLSocketFactory;
5348b8
 import com.netscape.cmsutil.util.Utils;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+
5348b8
 import netscape.ldap.LDAPConnection;
5348b8
 
5348b8
 /**
5348b8
@@ -247,12 +249,14 @@ public class OCSPPublisher implements ILdapPublisher, IExtendedPluginInfo {
5348b8
 
5348b8
             Socket socket = null;
5348b8
             JssSSLSocketFactory factory;
5348b8
+            PKIClientSocketListener sockListener = new PKIClientSocketListener();
5348b8
 
5348b8
             if (mClientAuthEnabled) {
5348b8
                 factory = new JssSSLSocketFactory(mNickname);
5348b8
             } else {
5348b8
                 factory = new JssSSLSocketFactory();
5348b8
             }
5348b8
+            factory.addSocketListener(sockListener);
5348b8
 
5348b8
             if (mHost != null && mHost.indexOf(' ') != -1) {
5348b8
                 // support failover hosts configuration
5348b8
diff --git a/base/server/cms/src/org/dogtagpki/server/PKIClientSocketListener.java b/base/server/cms/src/org/dogtagpki/server/PKIClientSocketListener.java
5348b8
new file mode 100644
5348b8
index 0000000..dc49908
5348b8
--- /dev/null
5348b8
+++ b/base/server/cms/src/org/dogtagpki/server/PKIClientSocketListener.java
5348b8
@@ -0,0 +1,230 @@
5348b8
+// --- BEGIN COPYRIGHT BLOCK ---
5348b8
+// This program is free software; you can redistribute it and/or modify
5348b8
+// it under the terms of the GNU General Public License as published by
5348b8
+// the Free Software Foundation; version 2 of the License.
5348b8
+//
5348b8
+// This program is distributed in the hope that it will be useful,
5348b8
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
5348b8
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5348b8
+// GNU General Public License for more details.
5348b8
+//
5348b8
+// You should have received a copy of the GNU General Public License along
5348b8
+// with this program; if not, write to the Free Software Foundation, Inc.,
5348b8
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
5348b8
+//
5348b8
+// (C) 2017 Red Hat, Inc.
5348b8
+// All rights reserved.
5348b8
+// --- END COPYRIGHT BLOCK ---
5348b8
+package org.dogtagpki.server;
5348b8
+
5348b8
+import java.lang.Integer;
5348b8
+import java.net.InetAddress;
5348b8
+import java.security.Principal;
5348b8
+import java.util.HashMap;
5348b8
+import java.util.Map;
5348b8
+import java.util.WeakHashMap;
5348b8
+
5348b8
+import org.mozilla.jss.crypto.X509Certificate;
5348b8
+import org.mozilla.jss.ssl.SSLAlertDescription;
5348b8
+import org.mozilla.jss.ssl.SSLAlertEvent;
5348b8
+import org.mozilla.jss.ssl.SSLHandshakeCompletedEvent;
5348b8
+import org.mozilla.jss.ssl.SSLSecurityStatus;
5348b8
+import org.mozilla.jss.ssl.SSLSocket;
5348b8
+import org.mozilla.jss.ssl.SSLSocketListener;
5348b8
+import org.slf4j.Logger;
5348b8
+import org.slf4j.LoggerFactory;
5348b8
+
5348b8
+import com.netscape.certsrv.logging.SignedAuditEvent;
5348b8
+import com.netscape.certsrv.logging.event.ClientAccessSessionEstablishEvent;
5348b8
+import com.netscape.certsrv.logging.event.ClientAccessSessionTerminatedEvent;
5348b8
+import com.netscape.cms.logging.SignedAuditLogger;
5348b8
+import com.netscape.certsrv.apps.CMS;
5348b8
+
5348b8
+public class PKIClientSocketListener implements SSLSocketListener {
5348b8
+
5348b8
+    private static Logger logger = LoggerFactory.getLogger(PKIClientSocketListener.class);
5348b8
+    private static SignedAuditLogger signedAuditLogger = SignedAuditLogger.getLogger();
5348b8
+
5348b8
+    /**
5348b8
+     * The socketInfos map is a storage for socket information that may not be available
5348b8
+     * after the socket has been closed such as client IP address and subject ID. The
5348b8
+     * WeakHashMap is used here to allow the map key (i.e. the socket object) to be
5348b8
+     * garbage-collected since there is no guarantee that socket will be closed with an
5348b8
+     * SSL alert for a proper map entry removal.
5348b8
+     */
5348b8
+    Map<SSLSocket,Map<String,Object>> socketInfos = new WeakHashMap<>();
5348b8
+
5348b8
+    @Override
5348b8
+    public void alertReceived(SSLAlertEvent event) {
5348b8
+        String method = "PKIClientSocketListener.alertReceived: ";
5348b8
+CMS.debug(method + "begins");
5348b8
+        try {
5348b8
+            SSLSocket socket = event.getSocket();
5348b8
+
5348b8
+            InetAddress serverAddress = socket.getInetAddress();
5348b8
+            InetAddress clientAddress = socket.getLocalAddress();
5348b8
+            String clientIP = clientAddress == null ? "" : clientAddress.getHostAddress();
5348b8
+            String serverIP = serverAddress == null ? "" : serverAddress.getHostAddress();
5348b8
+            String serverPort = Integer.toString(socket.getPort());
5348b8
+
5348b8
+            SSLSecurityStatus status = socket.getStatus();
5348b8
+/*
5348b8
+            X509Certificate peerCertificate = status.getPeerCertificate();
5348b8
+            Principal subjectDN = peerCertificate == null ? null : peerCertificate.getSubjectDN();
5348b8
+            String subjectID = subjectDN == null ? "" : subjectDN.toString();
5348b8
+*/
5348b8
+String subjectID = "SYSTEM";
5348b8
+
5348b8
+            int description = event.getDescription();
5348b8
+            String reason = SSLAlertDescription.valueOf(description).toString();
5348b8
+
5348b8
+            logger.debug("SSL alert received:");
5348b8
+            logger.debug(" - reason: " + reason);
5348b8
+            logger.debug(" - client: " + clientIP);
5348b8
+            logger.debug(" - server: " + serverIP);
5348b8
+            logger.debug(" - subject: " + subjectID);
5348b8
+
5348b8
+
5348b8
+            signedAuditLogger.log(ClientAccessSessionTerminatedEvent.createEvent(
5348b8
+                    clientIP,
5348b8
+                    serverIP,
5348b8
+                    serverPort,
5348b8
+                    subjectID,
5348b8
+                    reason));
5348b8
+
5348b8
+        CMS.debug(method + "CS_CLIENT_ACCESS_SESSION_TERMINATED");
5348b8
+CMS.debug(method + "clientIP=" + clientIP + " serverIP=" + serverIP + " serverPort=" + serverPort + " reason=" + reason);
5348b8
+
5348b8
+        } catch (Exception e) {
5348b8
+            logger.error(e.getMessage(), e);
5348b8
+        }
5348b8
+    }
5348b8
+
5348b8
+    @Override
5348b8
+    public void alertSent(SSLAlertEvent event) {
5348b8
+        String method = "PKIClientSocketListener.alertSent: ";
5348b8
+CMS.debug(method + "begins");
5348b8
+        try {
5348b8
+            SSLSocket socket = event.getSocket();
5348b8
+
5348b8
+            int description = event.getDescription();
5348b8
+CMS.debug(method + "got description:"+ description);
5348b8
+            String reason = SSLAlertDescription.valueOf(description).toString();
5348b8
+CMS.debug(method + "got reason:"+ reason);
5348b8
+
5348b8
+            SignedAuditEvent auditEvent;
5348b8
+            String clientIP;
5348b8
+            String serverIP;
5348b8
+            String serverPort;
5348b8
+            String subjectID;
5348b8
+
5348b8
+            if (description == SSLAlertDescription.CLOSE_NOTIFY.getID()) {
5348b8
+
5348b8
+                // get socket info from socketInfos map since socket has been closed
5348b8
+                Map<String,Object> info = socketInfos.get(socket);
5348b8
+                clientIP = (String)info.get("clientIP");
5348b8
+                serverIP = (String)info.get("serverIP");
5348b8
+                serverPort = (String)info.get("serverPort");
5348b8
+                subjectID = (String)info.get("subjectID");
5348b8
+
5348b8
+                auditEvent = ClientAccessSessionTerminatedEvent.createEvent(
5348b8
+                        clientIP,
5348b8
+                        serverIP,
5348b8
+                        serverPort,
5348b8
+                        subjectID,
5348b8
+                        reason);
5348b8
+
5348b8
+        CMS.debug(method + "CS_CLIENT_ACCESS_SESSION_TERMINATED");
5348b8
+	CMS.debug(method + "clientIP=" + clientIP + " serverIP=" + serverIP+ " serverPort=" + serverPort + " reason=" + reason);
5348b8
+
5348b8
+            } else {
5348b8
+
5348b8
+                // get socket info from the socket itself
5348b8
+                InetAddress serverAddress = socket.getInetAddress();
5348b8
+                InetAddress clientAddress = socket.getLocalAddress();
5348b8
+
5348b8
+                clientIP = clientAddress == null ? "" : clientAddress.getHostAddress();
5348b8
+                serverIP = serverAddress == null ? "" : serverAddress.getHostAddress();
5348b8
+                serverPort = Integer.toString(socket.getPort());
5348b8
+
5348b8
+                SSLSecurityStatus status = socket.getStatus();
5348b8
+/*
5348b8
+                X509Certificate peerCertificate = status.getPeerCertificate();
5348b8
+                Principal subjectDN = peerCertificate == null ? null : peerCertificate.getSubjectDN();
5348b8
+                subjectID = subjectDN == null ? "" : subjectDN.toString();
5348b8
+*/
5348b8
+subjectID = "SYSTEM";
5348b8
+
5348b8
+                auditEvent = ClientAccessSessionEstablishEvent.createFailureEvent(
5348b8
+                        clientIP,
5348b8
+                        serverIP,
5348b8
+                        serverPort,
5348b8
+                        subjectID,
5348b8
+                        reason);
5348b8
+
5348b8
+            }
5348b8
+
5348b8
+            logger.debug("SSL alert sent:");
5348b8
+            logger.debug(" - reason: " + reason);
5348b8
+            logger.debug(" - client: " + clientIP);
5348b8
+            logger.debug(" - server: " + serverIP);
5348b8
+            logger.debug(" - subject: " + subjectID);
5348b8
+
5348b8
+            signedAuditLogger.log(auditEvent);
5348b8
+
5348b8
+        CMS.debug(method + "CS_CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE");
5348b8
+CMS.debug(method + "clientIP=" + clientIP + " serverIP=" + serverIP + " serverPort=" + serverPort + " reason=" + reason);
5348b8
+
5348b8
+        } catch (Exception e) {
5348b8
+            logger.error(e.getMessage(), e);
5348b8
+        }
5348b8
+    }
5348b8
+
5348b8
+    @Override
5348b8
+    public void handshakeCompleted(SSLHandshakeCompletedEvent event) {
5348b8
+        String method = "PKIClientSocketListener.handshakeCompleted: ";
5348b8
+CMS.debug(method + "begins");
5348b8
+        try {
5348b8
+            SSLSocket socket = event.getSocket();
5348b8
+
5348b8
+            InetAddress serverAddress = socket.getInetAddress();
5348b8
+            InetAddress clientAddress = socket.getLocalAddress();
5348b8
+            String serverIP = serverAddress == null ? "" : serverAddress.getHostAddress();
5348b8
+            String clientIP = clientAddress == null ? "" : clientAddress.getHostAddress();
5348b8
+            String serverPort = Integer.toString(socket.getPort());
5348b8
+
5348b8
+            SSLSecurityStatus status = socket.getStatus();
5348b8
+/*
5348b8
+            X509Certificate peerCertificate = status.getPeerCertificate();
5348b8
+            Principal subjectDN = peerCertificate == null ? null : peerCertificate.getSubjectDN();
5348b8
+            String subjectID = subjectDN == null ? "" : subjectDN.toString();
5348b8
+*/
5348b8
+String subjectID = "SYSTEM";
5348b8
+
5348b8
+            logger.debug("Handshake completed:");
5348b8
+            logger.debug(" - client: " + clientIP);
5348b8
+            logger.debug(" - server: " + serverIP);
5348b8
+            logger.debug(" - subject: " + subjectID);
5348b8
+
5348b8
+            // store socket info in socketInfos map
5348b8
+            Map<String,Object> info = new HashMap<>();
5348b8
+            info.put("clientIP", clientIP);
5348b8
+            info.put("serverIP", serverIP);
5348b8
+            info.put("serverPort", serverPort);
5348b8
+            info.put("subjectID", subjectID);
5348b8
+            socketInfos.put(socket, info);
5348b8
+
5348b8
+            signedAuditLogger.log(ClientAccessSessionEstablishEvent.createSuccessEvent(
5348b8
+                    clientIP,
5348b8
+                    serverIP,
5348b8
+                    serverPort,
5348b8
+                    subjectID));
5348b8
+
5348b8
+        CMS.debug(method + "CS_CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS");
5348b8
+CMS.debug(method + "clientIP=" + clientIP + " serverIP=" + serverIP + " serverPort=" + serverPort);
5348b8
+
5348b8
+        } catch (Exception e) {
5348b8
+            logger.error(e.getMessage(), e);
5348b8
+        }
5348b8
+    }
5348b8
+}
5348b8
diff --git a/base/server/cmsbundle/src/LogMessages.properties b/base/server/cmsbundle/src/LogMessages.properties
5348b8
index d534506..a8a8deb 100644
5348b8
--- a/base/server/cmsbundle/src/LogMessages.properties
5348b8
+++ b/base/server/cmsbundle/src/LogMessages.properties
5348b8
@@ -2775,6 +2775,26 @@ LOGGING_SIGNED_AUDIT_ACCESS_SESSION_ESTABLISH_SUCCESS=\
5348b8
 LOGGING_SIGNED_AUDIT_ACCESS_SESSION_TERMINATED=\
5348b8
 <type=ACCESS_SESSION_TERMINATED>:[AuditEvent=ACCESS_SESSION_TERMINATED]{0} access session terminated
5348b8
 
5348b8
+#
5348b8
+# LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE
5348b8
+# access session failed to establish when Certificate System acts as client
5348b8
+#
5348b8
+LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_FAILURE=\
5348b8
+<type=CLIENT_ACCESS_SESSION_ESTABLISH>:[AuditEvent=CLIENT_ACCESS_SESSION_ESTABLISH]{0} access session failed to establish when Certificate System acts as client
5348b8
+#
5348b8
+# LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS
5348b8
+# - used when access session was established successfully when
5348b8
+#   Certificate System acts as client
5348b8
+#
5348b8
+LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_ESTABLISH_SUCCESS=\
5348b8
+<type=CLIENT_ACCESS_SESSION_ESTABLISH>:[AuditEvent=CLIENT_ACCESS_SESSION_ESTABLISH]{0} access session establish successfully when Certificate System acts as client
5348b8
+#
5348b8
+# LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_TERMINATED
5348b8
+# - used when access session was terminated when Certificate System acts as client
5348b8
+#
5348b8
+LOGGING_SIGNED_AUDIT_CLIENT_ACCESS_SESSION_TERMINATED=\
5348b8
+<type=CLIENT_ACCESS_SESSION_TERMINATED>:[AuditEvent=CLIENT_ACCESS_SESSION_TERMINATED]{0} access session terminated when Certificate System acts as client
5348b8
+
5348b8
 
5348b8
 ###########################
5348b8
 #Unselectable signedAudit Events
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnFactory.java b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnFactory.java
5348b8
index 47f5e61..e4f92b4 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnFactory.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnFactory.java
5348b8
@@ -27,6 +27,8 @@ import com.netscape.certsrv.logging.ILogger;
5348b8
 import com.netscape.cmsutil.http.JssSSLSocketFactory;
5348b8
 import com.netscape.cmsutil.net.ISocketFactory;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+
5348b8
 /**
5348b8
  * Factory for getting HTTP Connections to a HTTPO server
5348b8
  */
5348b8
@@ -127,6 +129,10 @@ public class HttpConnFactory {
5348b8
 
5348b8
         try {
5348b8
             ISocketFactory tFactory = new JssSSLSocketFactory(mNickname, mClientCiphers);
5348b8
+            PKIClientSocketListener sockListener = new PKIClientSocketListener()
5348b8
+;
5348b8
+            JssSSLSocketFactory factory = (JssSSLSocketFactory) tFactory;
5348b8
+            factory.addSocketListener(sockListener);
5348b8
 
5348b8
             if (mTimeout == 0) {
5348b8
                 retConn = CMS.getHttpConnection(mDest, tFactory);
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnection.java b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnection.java
5348b8
index fbd3268..649fa80 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnection.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnection.java
5348b8
@@ -18,7 +18,10 @@
5348b8
 package com.netscape.cmscore.connector;
5348b8
 
5348b8
 import java.io.IOException;
5348b8
+import java.lang.Integer;
5348b8
 import java.net.InetSocketAddress;
5348b8
+import java.net.InetAddress;
5348b8
+import java.net.UnknownHostException;
5348b8
 import java.util.ArrayList;
5348b8
 import java.util.List;
5348b8
 
5348b8
@@ -28,14 +31,24 @@ import com.netscape.certsrv.connector.IHttpConnection;
5348b8
 import com.netscape.certsrv.connector.IPKIMessage;
5348b8
 import com.netscape.certsrv.connector.IRemoteAuthority;
5348b8
 import com.netscape.certsrv.connector.IRequestEncoder;
5348b8
+import com.netscape.certsrv.logging.event.ClientAccessSessionEstablishEvent;
5348b8
+import com.netscape.certsrv.logging.SignedAuditEvent;
5348b8
+import com.netscape.cms.logging.SignedAuditLogger;
5348b8
 import com.netscape.cmscore.util.Debug;
5348b8
 import com.netscape.cmsutil.http.HttpClient;
5348b8
 import com.netscape.cmsutil.http.HttpRequest;
5348b8
 import com.netscape.cmsutil.http.HttpResponse;
5348b8
 import com.netscape.cmsutil.net.ISocketFactory;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+import org.slf4j.Logger;
5348b8
+import org.slf4j.LoggerFactory;
5348b8
+
5348b8
 public class HttpConnection implements IHttpConnection {
5348b8
 
5348b8
+    private static Logger logger = LoggerFactory.getLogger(PKIClientSocketListener.class);
5348b8
+    private static SignedAuditLogger signedAuditLogger = SignedAuditLogger.getLogger();
5348b8
+
5348b8
     protected IRemoteAuthority mDest = null;
5348b8
     protected HttpRequest mHttpreq = new HttpRequest();
5348b8
     protected IRequestEncoder mReqEncoder = null;
5348b8
@@ -43,12 +56,18 @@ public class HttpConnection implements IHttpConnection {
5348b8
 
5348b8
     int timeout = 0;
5348b8
     List<InetSocketAddress> targets;
5348b8
+    String localIP = "localhost";
5348b8
 
5348b8
     public HttpConnection(IRemoteAuthority dest, ISocketFactory factory,
5348b8
             int timeout // seconds
5348b8
             ) {
5348b8
 
5348b8
         CMS.debug("HttpConnection: Creating HttpConnection with timeout=" + timeout);
5348b8
+        try {
5348b8
+            localIP = InetAddress.getLocalHost().getHostAddress();
5348b8
+        } catch (UnknownHostException e) {
5348b8
+            // default to "localhost";
5348b8
+        }
5348b8
 
5348b8
         mDest = dest;
5348b8
         mReqEncoder = new HttpRequestEncoder();
5348b8
@@ -118,6 +137,7 @@ public class HttpConnection implements IHttpConnection {
5348b8
     void connect() throws IOException {
5348b8
 
5348b8
         IOException exception = null;
5348b8
+        SignedAuditEvent auditEvent;
5348b8
 
5348b8
         // try all targets
5348b8
         for (InetSocketAddress target : targets) {
5348b8
@@ -136,6 +156,14 @@ public class HttpConnection implements IHttpConnection {
5348b8
             } catch (IOException e) {
5348b8
                 exception = e;
5348b8
                 CMS.debug("HttpConnection: Unable to connect to " + hostname + ":" + port + ": " + e);
5348b8
+                auditEvent = ClientAccessSessionEstablishEvent.createFailureEvent(
5348b8
+                        localIP,
5348b8
+                        hostname,
5348b8
+                        Integer.toString(port),
5348b8
+                        "SYSTEM",
5348b8
+                        "connect:" +e.toString());
5348b8
+                signedAuditLogger.log(auditEvent);
5348b8
+
5348b8
                 // try the next target immediately
5348b8
             }
5348b8
         }
5348b8
@@ -229,6 +257,13 @@ public class HttpConnection implements IHttpConnection {
5348b8
 
5348b8
         HttpResponse resp = null;
5348b8
         boolean reconnected = false;
5348b8
+        SignedAuditEvent auditEvent;
5348b8
+        String localIP = "localhost";
5348b8
+        try {
5348b8
+            localIP = InetAddress.getLocalHost().getHostAddress();
5348b8
+        } catch (UnknownHostException e) {
5348b8
+            // default to "localhost";
5348b8
+        }
5348b8
 
5348b8
         if (getRequestURI() == null) {
5348b8
             throw new EBaseException(CMS.getUserMessage("CMS_BASE_INVALID_ATTRIBUTE", "URI not set in HttpRequest"));
5348b8
@@ -266,6 +301,13 @@ public class HttpConnection implements IHttpConnection {
5348b8
                 resp = mHttpClient.send(mHttpreq);
5348b8
 
5348b8
             } catch (IOException e) {
5348b8
+                auditEvent = ClientAccessSessionEstablishEvent.createFailureEvent(
5348b8
+                        localIP,
5348b8
+                        mHttpClient.getHost(),
5348b8
+                        mHttpClient.getPort(),
5348b8
+                        "SYSTEM",
5348b8
+                        "send:" +e.toString());
5348b8
+                signedAuditLogger.log(auditEvent);
5348b8
 
5348b8
                 CMS.debug(e);
5348b8
 
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnector.java b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnector.java
5348b8
index 398becc..0588bf4 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnector.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/connector/HttpConnector.java
5348b8
@@ -35,6 +35,8 @@ import com.netscape.cmsutil.http.HttpResponse;
5348b8
 import com.netscape.cmsutil.http.JssSSLSocketFactory;
5348b8
 import com.netscape.cmsutil.net.ISocketFactory;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+
5348b8
 public class HttpConnector implements IConnector {
5348b8
     protected IAuthority mSource = null;
5348b8
     protected IRemoteAuthority mDest = null;
5348b8
@@ -55,8 +57,12 @@ public class HttpConnector implements IConnector {
5348b8
         mTimeout = 0;
5348b8
         mSource = source;
5348b8
         mDest = dest;
5348b8
+        PKIClientSocketListener sockListener = new PKIClientSocketListener();
5348b8
         mFactory = new JssSSLSocketFactory(nickName, clientCiphers);
5348b8
 
5348b8
+        JssSSLSocketFactory factory = (JssSSLSocketFactory)mFactory;
5348b8
+        factory.addSocketListener(sockListener);
5348b8
+
5348b8
         int minConns = config.getInteger("minHttpConns", 1);
5348b8
         int maxConns = config.getInteger("maxHttpConns", 15);
5348b8
 
5348b8
@@ -82,8 +88,12 @@ public class HttpConnector implements IConnector {
5348b8
         mSource = source;
5348b8
         mDest = dest;
5348b8
         mTimeout = timeout;
5348b8
+        PKIClientSocketListener sockListener = new PKIClientSocketListener();
5348b8
         mFactory = new JssSSLSocketFactory(nickName, clientCiphers);
5348b8
 
5348b8
+        JssSSLSocketFactory factory = (JssSSLSocketFactory) mFactory;
5348b8
+        factory.addSocketListener(sockListener);
5348b8
+
5348b8
         int minConns = config.getInteger("minHttpConns", 1);
5348b8
         int maxConns = config.getInteger("maxHttpConns", 15);
5348b8
 
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/connector/Resender.java b/base/server/cmscore/src/com/netscape/cmscore/connector/Resender.java
5348b8
index e6d9ced..cc73077 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/connector/Resender.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/connector/Resender.java
5348b8
@@ -39,6 +39,8 @@ import com.netscape.certsrv.request.RequestStatus;
5348b8
 import com.netscape.cmscore.util.Debug;
5348b8
 import com.netscape.cmsutil.http.JssSSLSocketFactory;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+
5348b8
 /**
5348b8
  * Resend requests at intervals to the server to check if it's been completed.
5348b8
  * Default interval is 5 minutes.
5348b8
@@ -127,7 +129,11 @@ public class Resender implements IResender {
5348b8
 
5348b8
         if (! connected) {
5348b8
             CMS.debug("Connecting ...");
5348b8
-            mConn = new HttpConnection(mDest, new JssSSLSocketFactory(mNickName, mClientCiphers));
5348b8
+            PKIClientSocketListener sockListener = new PKIClientSocketListener();
5348b8
+            JssSSLSocketFactory factory = new JssSSLSocketFactory(mNickName, mClientCiphers);
5348b8
+            factory.addSocketListener(sockListener);
5348b8
+
5348b8
+            mConn = new HttpConnection(mDest, factory);
5348b8
             initRequests();
5348b8
             connected = true;
5348b8
         }
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java
5348b8
index d0c23ed..e9f28c9 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/ldapconn/PKISocketFactory.java
5348b8
@@ -35,6 +35,8 @@ import com.netscape.certsrv.base.IConfigStore;
5348b8
 import netscape.ldap.LDAPException;
5348b8
 import netscape.ldap.LDAPSSLSocketFactoryExt;
5348b8
 
5348b8
+import org.dogtagpki.server.PKIClientSocketListener;
5348b8
+
5348b8
 /**
5348b8
  * Uses HCL ssl socket.
5348b8
  *
5348b8
@@ -46,6 +48,7 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt {
5348b8
     private String mClientAuthCertNickname;
5348b8
     private boolean mClientAuth;
5348b8
     private boolean keepAlive;
5348b8
+    PKIClientSocketListener sockListener = null;
5348b8
 
5348b8
     public PKISocketFactory() {
5348b8
         init();
5348b8
@@ -67,6 +70,7 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt {
5348b8
             IConfigStore cs = CMS.getConfigStore();
5348b8
             keepAlive = cs.getBoolean("tcp.keepAlive", true);
5348b8
             CMS.debug("TCP Keep-Alive: " + keepAlive);
5348b8
+            sockListener = new PKIClientSocketListener();
5348b8
 
5348b8
         } catch (Exception e) {
5348b8
             CMS.debug(e);
5348b8
@@ -75,6 +79,8 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt {
5348b8
     }
5348b8
 
5348b8
     public SSLSocket makeSSLSocket(String host, int port) throws UnknownHostException, IOException {
5348b8
+        String method = "ldapconn/PKISocketFactory.makeSSLSocket: ";
5348b8
+        CMS.debug(method + "begins");
5348b8
 
5348b8
         /*
5348b8
          * let inherit TLS range and cipher settings
5348b8
@@ -100,6 +106,8 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt {
5348b8
         s.setUseClientMode(true);
5348b8
         s.enableV2CompatibleHello(false);
5348b8
 
5348b8
+        s.addSocketListener(sockListener);
5348b8
+
5348b8
         SSLHandshakeCompletedListener listener = null;
5348b8
 
5348b8
         listener = new ClientHandshakeCB(this);
5348b8
@@ -119,7 +127,6 @@ public class PKISocketFactory implements LDAPSSLSocketFactoryExt {
5348b8
     }
5348b8
 
5348b8
     public Socket makeSocket(String host, int port) throws LDAPException {
5348b8
-
5348b8
         Socket s = null;
5348b8
 
5348b8
         try {
5348b8
diff --git a/base/tks/shared/conf/CS.cfg b/base/tks/shared/conf/CS.cfg
5348b8
index e9bf03e..60a3355 100644
5348b8
--- a/base/tks/shared/conf/CS.cfg
5348b8
+++ b/base/tks/shared/conf/CS.cfg
5348b8
@@ -208,11 +208,11 @@ log.instance.SignedAudit._001=## Signed Audit Logging
5348b8
 log.instance.SignedAudit._002=##
5348b8
 log.instance.SignedAudit._003=##
5348b8
 log.instance.SignedAudit._004=## Available Audit events:
5348b8
-log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,RANDOM_GENERATION
5348b8
+log.instance.SignedAudit._005=## AUDIT_LOG_STARTUP,AUDIT_LOG_SHUTDOWN,ROLE_ASSUME,CONFIG_CERT_POLICY,CONFIG_CERT_PROFILE,CONFIG_CRL_PROFILE,CONFIG_OCSP_PROFILE,CONFIG_AUTH,CONFIG_ROLE,CONFIG_ACL,CONFIG_SIGNED_AUDIT,CONFIG_ENCRYPTION,CONFIG_TRUSTED_PUBLIC_KEY,CONFIG_DRM,SELFTESTS_EXECUTION,AUDIT_LOG_DELETE,LOG_PATH_CHANGE,LOG_EXPIRATION_CHANGE,PRIVATE_KEY_ARCHIVE_REQUEST,PRIVATE_KEY_ARCHIVE_REQUEST_PROCESSED,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_SUCCESS,PRIVATE_KEY_EXPORT_REQUEST_PROCESSED_FAILURE,KEY_RECOVERY_REQUEST,KEY_RECOVERY_REQUEST_ASYNC,KEY_RECOVERY_AGENT_LOGIN,KEY_RECOVERY_REQUEST_PROCESSED,KEY_RECOVERY_REQUEST_PROCESSED_ASYNC,KEY_GEN_ASYMMETRIC,NON_PROFILE_CERT_REQUEST,PROFILE_CERT_REQUEST,CERT_REQUEST_PROCESSED,CERT_STATUS_CHANGE_REQUEST,CERT_STATUS_CHANGE_REQUEST_PROCESSED,AUTHZ,INTER_BOUNDARY,AUTH,CERT_PROFILE_APPROVAL,PROOF_OF_POSSESSION,CRL_RETRIEVAL,CRL_VALIDATION,CMC_SIGNED_REQUEST_SIG_VERIFY,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_FAILURE,SERVER_SIDE_KEYGEN_REQUEST_PROCESSED_SUCCESS,SERVER_SIDE_KEYGEN_REQUEST,COMPUTE_SESSION_KEY_REQUEST,COMPUTE_SESSION_KEY_REQUEST_PROCESSED_SUCCESS, COMPUTE_SESSION_KEY_REQUEST_PROCESSED_FAILURE,DIVERSIFY_KEY_REQUEST,DIVERSIFY_KEY_REQUEST_PROCESSED_SUCCESS, DIVERSIFY_KEY_REQUEST_PROCESSED_FAILURE,ENCRYPT_DATA_REQUEST,ENCRYPT_DATA_REQUEST_PROCESSED_SUCCESS,ENCRYPT_DATA_REQUEST_PROCESSED_FAILURE,COMPUTE_RANDOM_DATA_REQUEST,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_SUCCESS,COMPUTE_RANDOM_DATA_REQUEST_PROCESSED_FAILURE,CIMC_CERT_VERIFICATION,CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,RANDOM_GENERATION
5348b8
 log.instance.SignedAudit._006=##
5348b8
 log.instance.SignedAudit.bufferSize=512
5348b8
 log.instance.SignedAudit.enable=true
5348b8
-log.instance.SignedAudit.events=ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,LOG_PATH_CHANGE,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CONFIG_ACL
5348b8
+log.instance.SignedAudit.events=CLIENT_ACCESS_SESSION_ESTABLISH,CLIENT_ACCESS_SESSION_TERMINATED,ACCESS_SESSION_ESTABLISH,ACCESS_SESSION_TERMINATED,AUTH,AUTHZ,CONFIG_AUTH,CONFIG_ENCRYPTION,CONFIG_ROLE,CONFIG_SIGNED_AUDIT,CONFIG_TRUSTED_PUBLIC_KEY,LOG_PATH_CHANGE,RANDOM_GENERATION,ROLE_ASSUME,SECURITY_DOMAIN_UPDATE,SELFTESTS_EXECUTION,CONFIG_ACL
5348b8
 log.instance.SignedAudit.filters.RANDOM_GENERATION=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.filters.SELFTESTS_EXECUTION=(Outcome=Failure)
5348b8
 log.instance.SignedAudit.expirationTime=0
5348b8
diff --git a/base/util/src/com/netscape/cmsutil/http/HttpClient.java b/base/util/src/com/netscape/cmsutil/http/HttpClient.java
5348b8
index db042a7..2204e19 100644
5348b8
--- a/base/util/src/com/netscape/cmsutil/http/HttpClient.java
5348b8
+++ b/base/util/src/com/netscape/cmsutil/http/HttpClient.java
5348b8
@@ -46,6 +46,9 @@ public class HttpClient {
5348b8
     protected BufferedReader mBufferedReader = null;
5348b8
     protected SSLCertificateApprovalCallback mCertApprovalCallback = null;
5348b8
     protected boolean mConnected = false;
5348b8
+    // for auditing purposes
5348b8
+    protected String mHost;
5348b8
+    protected String mPort;
5348b8
 
5348b8
     public HttpClient() {
5348b8
     }
5348b8
@@ -63,6 +66,9 @@ public class HttpClient {
5348b8
             int timeout // milliseconds
5348b8
             ) throws IOException {
5348b8
 
5348b8
+        mHost = host;
5348b8
+        mPort = Integer.toString(port);
5348b8
+
5348b8
         if (mFactory != null) {
5348b8
             if (mCertApprovalCallback == null) {
5348b8
                 mSocket = mFactory.makeSocket(host, port, timeout);
5348b8
@@ -149,6 +155,14 @@ public class HttpClient {
5348b8
         return mSocket;
5348b8
     }
5348b8
 
5348b8
+    public String getHost() {
5348b8
+        return mHost;
5348b8
+    }
5348b8
+
5348b8
+    public String getPort() {
5348b8
+        return mPort;
5348b8
+    }
5348b8
+
5348b8
     /**
5348b8
      * unit test
5348b8
      */
5348b8
diff --git a/base/util/src/com/netscape/cmsutil/http/JssSSLSocketFactory.java b/base/util/src/com/netscape/cmsutil/http/JssSSLSocketFactory.java
5348b8
index eaed821..0d176ad 100644
5348b8
--- a/base/util/src/com/netscape/cmsutil/http/JssSSLSocketFactory.java
5348b8
+++ b/base/util/src/com/netscape/cmsutil/http/JssSSLSocketFactory.java
5348b8
@@ -27,6 +27,7 @@ import org.mozilla.jss.ssl.SSLClientCertificateSelectionCallback;
5348b8
 import org.mozilla.jss.ssl.SSLHandshakeCompletedEvent;
5348b8
 import org.mozilla.jss.ssl.SSLHandshakeCompletedListener;
5348b8
 import org.mozilla.jss.ssl.SSLSocket;
5348b8
+import org.mozilla.jss.ssl.SSLSocketListener;
5348b8
 
5348b8
 import com.netscape.cmsutil.net.ISocketFactory;
5348b8
 import com.netscape.cmsutil.crypto.CryptoUtil;
5348b8
@@ -40,6 +41,7 @@ public class JssSSLSocketFactory implements ISocketFactory {
5348b8
     private String mClientAuthCertNickname = null;
5348b8
     private String mClientCiphers = null;
5348b8
     private SSLSocket s = null;
5348b8
+    private SSLSocketListener sockListener = null;
5348b8
 
5348b8
     public JssSSLSocketFactory() {
5348b8
     }
5348b8
@@ -83,6 +85,8 @@ public class JssSSLSocketFactory implements ISocketFactory {
5348b8
 
5348b8
             listener = new ClientHandshakeCB(this);
5348b8
             s.addHandshakeCompletedListener(listener);
5348b8
+            if (this.sockListener != null)
5348b8
+                s.addSocketListener(this.sockListener);
5348b8
 
5348b8
             if (mClientAuthCertNickname != null) {
5348b8
                 // 052799 setClientCertNickname does not
5348b8
@@ -131,6 +135,10 @@ public class JssSSLSocketFactory implements ISocketFactory {
5348b8
         return s;
5348b8
     }
5348b8
 
5348b8
+    public void addSocketListener(SSLSocketListener sl) {
5348b8
+        this.sockListener = sl;
5348b8
+    }
5348b8
+
5348b8
     public void log(int level, String msg) {
5348b8
     }
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 44030bf381dc868e64c0e80d112bce72a626e8fb Mon Sep 17 00:00:00 2001
5348b8
From: Christina Fu <cfu@redhat.com>
5348b8
Date: Fri, 31 Aug 2018 08:52:22 -0700
5348b8
Subject: [PATCH 09/19] Ticket2960 add SHA384 ciphers and cleanup profiles
5348b8
5348b8
Note: this is a 2nd attempt as the first attempt was reverted due to
5348b8
"breakage" of post-checkin-enablement of the IPA CI, which is
5348b8
speculated to have used a server cert as a client cert which violated
5348b8
one of the very essence of the "profile cleanup" part of the original
5348b8
patch;  As a compromise, the clientAuth bit was added back to all
5348b8
non-CMC *server* profiles so the patch will pass the IPA CI.
5348b8
The revised patch has been adquately tested in addition to passing
5348b8
the IPA CI.
5348b8
5348b8
This patch adds SHA384 ciphers to the cipher lists (RSA & EC)
5348b8
5348b8
CryptoUtil.java contains changes to clientECCiphers:
5348b8
 - RSA ciphers comemented out
5348b8
 - SHA384 ciphers are added but RSA ones commented out
5348b8
5348b8
Also added SHA384withRSA to ca.profiles.defaultSigningAlgsAllowed.
5348b8
5348b8
In addition, a few cleanups are done:
5348b8
- all MD2, MD5 from allowed signing key algs from profiles
5348b8
- server profiles:
5348b8
  * removed clientAuth oid 1.3.6.1.5.5.7.3.2 from cmc server profiles
5348b8
  * fixed a couple KU's (RSA vs EC) that had true/false flipped
5348b8
- caCMCkraStorageCert.cfg
5348b8
  * removed EKU (funny it had clientAuth)
5348b8
- caCMCkraTransportCert.cfg
5348b8
  * removed EKU (funny it had clientAuth)
5348b8
- base/ca/shared/conf/eccServerCert.profile
5348b8
  * added the missing CommonNameToSANDefault
5348b8
5348b8
Tested with the following:
5348b8
- installation of an RSA CA and a KRA (strip down to only SHA384 ciphers)
5348b8
  * performed successful agent access
5348b8
  * tested key archival
5348b8
- installation of an EC CA (strip down to only SHA384 ciphers)
5348b8
  * performed successful agent access
5348b8
  * tested an agent-signed CMC request and submitted/issued successfully
5348b8
    using HttpClient
5348b8
5348b8
The above tests showed:
5348b8
- The SHA384 ciphers work out of box
5348b8
- The TLS server and client profiles changes did not break any TLS connections.
5348b8
- The KRA storage and transport profile changes did not break anything.
5348b8
5348b8
fixes https://pagure.io/dogtagpki/issue/2960
5348b8
5348b8
Change-Id: Ia41dfbcec972cb18752b50056f29edf61cb3ce61
5348b8
(cherry picked from commit 97e290663f29d5b2c5afab18e4a7c90af05c874c)
5348b8
---
5348b8
 base/ca/shared/conf/CS.cfg                                   |  2 +-
5348b8
 base/ca/shared/conf/eccAdminCert.profile                     |  2 +-
5348b8
 base/ca/shared/conf/eccServerCert.profile                    |  4 +++-
5348b8
 base/ca/shared/conf/rsaAdminCert.profile                     |  2 +-
5348b8
 base/ca/shared/profiles/ca/AdminCert.cfg                     |  6 +++---
5348b8
 base/ca/shared/profiles/ca/ECAdminCert.cfg                   |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caAdminCert.cfg                   |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caAgentFileSigning.cfg            |  2 +-
5348b8
 base/ca/shared/profiles/ca/caCMCECUserCert.cfg               |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caCMCECserverCert.cfg             |  2 +-
5348b8
 base/ca/shared/profiles/ca/caCMCUserCert.cfg                 |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caCMCkraStorageCert.cfg           |  8 +-------
5348b8
 base/ca/shared/profiles/ca/caCMCkraTransportCert.cfg         |  8 +-------
5348b8
 base/ca/shared/profiles/ca/caCMCserverCert.cfg               |  2 +-
5348b8
 base/ca/shared/profiles/ca/caCrossSignedCACert.cfg           |  2 +-
5348b8
 base/ca/shared/profiles/ca/caDirBasedDualCert.cfg            |  8 ++++----
5348b8
 base/ca/shared/profiles/ca/caDirPinUserCert.cfg              |  2 +-
5348b8
 base/ca/shared/profiles/ca/caDirUserCert.cfg                 |  2 +-
5348b8
 base/ca/shared/profiles/ca/caDualCert.cfg                    |  6 +++---
5348b8
 base/ca/shared/profiles/ca/caDualRAuserCert.cfg              |  2 +-
5348b8
 base/ca/shared/profiles/ca/caECAdminCert.cfg                 |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECDirPinUserCert.cfg            |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECDirUserCert.cfg               |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECDualCert.cfg                  |  3 +--
5348b8
 base/ca/shared/profiles/ca/caECFullCMCSelfSignedCert.cfg     |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECFullCMCUserCert.cfg           |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECFullCMCUserSignedCert.cfg     |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECInternalAuthServerCert.cfg    |  2 +-
5348b8
 base/ca/shared/profiles/ca/caECSimpleCMCUserCert.cfg         |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caECUserCert.cfg                  |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caEncUserCert.cfg                 |  2 +-
5348b8
 base/ca/shared/profiles/ca/caIPAserviceCert.cfg              |  2 +-
5348b8
 base/ca/shared/profiles/ca/caInstallCACert.cfg               |  2 +-
5348b8
 base/ca/shared/profiles/ca/caInternalAuthDRMstorageCert.cfg  |  2 +-
5348b8
 base/ca/shared/profiles/ca/caInternalAuthOCSPCert.cfg        |  2 +-
5348b8
 base/ca/shared/profiles/ca/caInternalAuthServerCert.cfg      |  2 +-
5348b8
 base/ca/shared/profiles/ca/caInternalAuthTransportCert.cfg   |  2 +-
5348b8
 base/ca/shared/profiles/ca/caJarSigningCert.cfg              |  2 +-
5348b8
 base/ca/shared/profiles/ca/caOtherCert.cfg                   |  2 +-
5348b8
 base/ca/shared/profiles/ca/caRACert.cfg                      |  2 +-
5348b8
 base/ca/shared/profiles/ca/caRARouterCert.cfg                |  2 +-
5348b8
 base/ca/shared/profiles/ca/caRAagentCert.cfg                 |  2 +-
5348b8
 base/ca/shared/profiles/ca/caRAserverCert.cfg                | 12 ++++++++----
5348b8
 base/ca/shared/profiles/ca/caRouterCert.cfg                  |  2 +-
5348b8
 base/ca/shared/profiles/ca/caSigningUserCert.cfg             |  2 +-
5348b8
 base/ca/shared/profiles/ca/caSimpleCMCUserCert.cfg           |  4 ++--
5348b8
 base/ca/shared/profiles/ca/caStorageCert.cfg                 | 10 ++--------
5348b8
 base/ca/shared/profiles/ca/caTPSCert.cfg                     |  2 +-
5348b8
 base/ca/shared/profiles/ca/caUUIDdeviceCert.cfg              |  2 +-
5348b8
 base/ca/shared/profiles/ca/caUserCert.cfg                    |  2 +-
5348b8
 base/ca/shared/profiles/ca/caUserSMIMEcapCert.cfg            |  2 +-
5348b8
 .../netscape/cms/profile/common/CACertCAEnrollProfile.java   |  2 +-
5348b8
 .../src/com/netscape/cms/profile/def/SigningAlgDefault.java  |  2 +-
5348b8
 base/server/python/pki/server/deployment/pkiparser.py        | 10 ++++++++--
5348b8
 base/server/share/conf/ciphers.info                          |  4 ++--
5348b8
 base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java    | 12 ++++++++++--
5348b8
 56 files changed, 103 insertions(+), 102 deletions(-)
5348b8
5348b8
diff --git a/base/ca/shared/conf/CS.cfg b/base/ca/shared/conf/CS.cfg
5348b8
index 6b39b0a..4cef240 100644
5348b8
--- a/base/ca/shared/conf/CS.cfg
5348b8
+++ b/base/ca/shared/conf/CS.cfg
5348b8
@@ -666,7 +666,7 @@ ca.notification.requestInQ.senderEmail=
5348b8
 ca.ocsp_signing.cacertnickname=ocspSigningCert cert-[PKI_INSTANCE_NAME]
5348b8
 ca.ocsp_signing.defaultSigningAlgorithm=SHA256withRSA
5348b8
 ca.ocsp_signing.tokenname=internal
5348b8
-ca.profiles.defaultSigningAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
+ca.profiles.defaultSigningAlgsAllowed=SHA256withRSA,SHA384withRSA,SHA512withRSA,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
 ca.publish.createOwnDNEntry=false
5348b8
 ca.publish.queue.enable=true
5348b8
 ca.publish.queue.maxNumberOfThreads=3
5348b8
diff --git a/base/ca/shared/conf/eccAdminCert.profile b/base/ca/shared/conf/eccAdminCert.profile
5348b8
index 46d157a..219944a 100644
5348b8
--- a/base/ca/shared/conf/eccAdminCert.profile
5348b8
+++ b/base/ca/shared/conf/eccAdminCert.profile
5348b8
@@ -26,7 +26,7 @@ list=2,4,5,6,7
5348b8
 6.default.params.keyUsageCritical=true
5348b8
 6.default.params.keyUsageDigitalSignature=true
5348b8
 6.default.params.keyUsageNonRepudiation=true
5348b8
-6.default.params.keyUsageDataEncipherment=true
5348b8
+6.default.params.keyUsageDataEncipherment=false
5348b8
 6.default.params.keyUsageKeyEncipherment=false
5348b8
 6.default.params.keyUsageKeyAgreement=true
5348b8
 6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/conf/eccServerCert.profile b/base/ca/shared/conf/eccServerCert.profile
5348b8
index 8c679f7..d990e77 100644
5348b8
--- a/base/ca/shared/conf/eccServerCert.profile
5348b8
+++ b/base/ca/shared/conf/eccServerCert.profile
5348b8
@@ -6,7 +6,7 @@ name=All Purpose SSL server cert with ECC keys Profile
5348b8
 description=This profile creates an SSL server certificate with ECC keys that is valid for SSL servers
5348b8
 profileIDMapping=caECServerCert
5348b8
 profileSetIDMapping=serverCertSet
5348b8
-list=2,4,5,6,7
5348b8
+list=2,4,5,6,7,8
5348b8
 2.default.class=com.netscape.cms.profile.def.ValidityDefault
5348b8
 2.default.name=Validity Default
5348b8
 2.default.params.range=720
5348b8
@@ -37,3 +37,5 @@ list=2,4,5,6,7
5348b8
 7.default.name=Extended Key Usage Extension Default
5348b8
 7.default.params.exKeyUsageCritical=false
5348b8
 7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
5348b8
+8.default.class=com.netscape.cms.profile.def.CommonNameToSANDefault
5348b8
+8.default.name=copy CN to SAN Default
5348b8
diff --git a/base/ca/shared/conf/rsaAdminCert.profile b/base/ca/shared/conf/rsaAdminCert.profile
5348b8
index 5e84d74..7b3668c 100644
5348b8
--- a/base/ca/shared/conf/rsaAdminCert.profile
5348b8
+++ b/base/ca/shared/conf/rsaAdminCert.profile
5348b8
@@ -26,7 +26,7 @@ list=2,4,5,6,7
5348b8
 6.default.params.keyUsageCritical=true
5348b8
 6.default.params.keyUsageDigitalSignature=true
5348b8
 6.default.params.keyUsageNonRepudiation=true
5348b8
-6.default.params.keyUsageDataEncipherment=true
5348b8
+6.default.params.keyUsageDataEncipherment=false
5348b8
 6.default.params.keyUsageKeyEncipherment=true
5348b8
 6.default.params.keyUsageKeyAgreement=false
5348b8
 6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/AdminCert.cfg b/base/ca/shared/profiles/ca/AdminCert.cfg
5348b8
index 7879614..18cbc2f 100644
5348b8
--- a/base/ca/shared/profiles/ca/AdminCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/AdminCert.cfg
5348b8
@@ -53,7 +53,7 @@ policyset.adminCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyEncipherment=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyAgreement=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -65,7 +65,7 @@ policyset.adminCertSet.6.default.name=Key Usage Default
5348b8
 policyset.adminCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyEncipherment=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyAgreement=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
@@ -80,7 +80,7 @@ policyset.adminCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.adminCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
 policyset.adminCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.adminCertSet.8.constraint.name=No Constraint
5348b8
-policyset.adminCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.adminCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.adminCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.adminCertSet.8.default.name=Signing Alg
5348b8
 policyset.adminCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/ECAdminCert.cfg b/base/ca/shared/profiles/ca/ECAdminCert.cfg
5348b8
index e00022e..38562a6 100644
5348b8
--- a/base/ca/shared/profiles/ca/ECAdminCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/ECAdminCert.cfg
5348b8
@@ -53,7 +53,7 @@ policyset.adminCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -65,7 +65,7 @@ policyset.adminCertSet.6.default.name=Key Usage Default
5348b8
 policyset.adminCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caAdminCert.cfg b/base/ca/shared/profiles/ca/caAdminCert.cfg
5348b8
index 86a3b11..6598677 100644
5348b8
--- a/base/ca/shared/profiles/ca/caAdminCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caAdminCert.cfg
5348b8
@@ -54,7 +54,7 @@ policyset.adminCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyEncipherment=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyAgreement=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -66,7 +66,7 @@ policyset.adminCertSet.6.default.name=Key Usage Default
5348b8
 policyset.adminCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyEncipherment=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyAgreement=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caAgentFileSigning.cfg b/base/ca/shared/profiles/ca/caAgentFileSigning.cfg
5348b8
index 5608373..cc65afc 100644
5348b8
--- a/base/ca/shared/profiles/ca/caAgentFileSigning.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caAgentFileSigning.cfg
5348b8
@@ -80,7 +80,7 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.3
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCECUserCert.cfg b/base/ca/shared/profiles/ca/caCMCECUserCert.cfg
5348b8
index b7b4881..226c05c 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCECUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCECUserCert.cfg
5348b8
@@ -52,7 +52,7 @@ policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -64,7 +64,7 @@ policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCECserverCert.cfg b/base/ca/shared/profiles/ca/caCMCECserverCert.cfg
5348b8
index 53b0c4d..68c59fb 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCECserverCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCECserverCert.cfg
5348b8
@@ -76,7 +76,7 @@ policyset.serverCertSet.7.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
 policyset.serverCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
+policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCUserCert.cfg b/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
index df47758..657b98e 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
@@ -52,7 +52,7 @@ policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyEncipherment=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyAgreement=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -64,7 +64,7 @@ policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyEncipherment=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyAgreement=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCkraStorageCert.cfg b/base/ca/shared/profiles/ca/caCMCkraStorageCert.cfg
5348b8
index 1c2630d..908f584 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCkraStorageCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCkraStorageCert.cfg
5348b8
@@ -10,7 +10,7 @@ input.i1.class_id=cmcCertReqInputImpl
5348b8
 output.list=o1
5348b8
 output.o1.class_id=certOutputImpl
5348b8
 policyset.list=drmStorageCertSet
5348b8
-policyset.drmStorageCertSet.list=1,2,3,4,5,6,7,9
5348b8
+policyset.drmStorageCertSet.list=1,2,3,4,5,6,9
5348b8
 policyset.drmStorageCertSet.1.constraint.class_id=subjectNameConstraintImpl
5348b8
 policyset.drmStorageCertSet.1.constraint.name=Subject Name Constraint
5348b8
 policyset.drmStorageCertSet.1.constraint.params.pattern=CN=.*
5348b8
@@ -71,12 +71,6 @@ policyset.drmStorageCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageCrlSign=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
-policyset.drmStorageCertSet.7.constraint.class_id=noConstraintImpl
5348b8
-policyset.drmStorageCertSet.7.constraint.name=No Constraint
5348b8
-policyset.drmStorageCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
-policyset.drmStorageCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
-policyset.drmStorageCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.drmStorageCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.drmStorageCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.drmStorageCertSet.9.constraint.name=No Constraint
5348b8
 policyset.drmStorageCertSet.9.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCkraTransportCert.cfg b/base/ca/shared/profiles/ca/caCMCkraTransportCert.cfg
5348b8
index 3d00408..628253d 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCkraTransportCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCkraTransportCert.cfg
5348b8
@@ -10,7 +10,7 @@ input.i1.class_id=cmcCertReqInputImpl
5348b8
 output.list=o1
5348b8
 output.o1.class_id=certOutputImpl
5348b8
 policyset.list=transportCertSet
5348b8
-policyset.transportCertSet.list=1,2,3,4,5,6,7,8
5348b8
+policyset.transportCertSet.list=1,2,3,4,5,6,8
5348b8
 policyset.transportCertSet.1.constraint.class_id=subjectNameConstraintImpl
5348b8
 policyset.transportCertSet.1.constraint.name=Subject Name Constraint
5348b8
 policyset.transportCertSet.1.constraint.params.pattern=CN=.*
5348b8
@@ -71,12 +71,6 @@ policyset.transportCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
 policyset.transportCertSet.6.default.params.keyUsageCrlSign=false
5348b8
 policyset.transportCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
 policyset.transportCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
-policyset.transportCertSet.7.constraint.class_id=noConstraintImpl
5348b8
-policyset.transportCertSet.7.constraint.name=No Constraint
5348b8
-policyset.transportCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
-policyset.transportCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
-policyset.transportCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.transportCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.transportCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.transportCertSet.8.constraint.name=No Constraint
5348b8
 policyset.transportCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCserverCert.cfg b/base/ca/shared/profiles/ca/caCMCserverCert.cfg
5348b8
index 9ad9fac..628fc50 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCserverCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCserverCert.cfg
5348b8
@@ -76,7 +76,7 @@ policyset.serverCertSet.7.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
 policyset.serverCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
+policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caCrossSignedCACert.cfg b/base/ca/shared/profiles/ca/caCrossSignedCACert.cfg
5348b8
index 8fafbdf..efc35a3 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCrossSignedCACert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCrossSignedCACert.cfg
5348b8
@@ -76,7 +76,7 @@ policyset.caCertSet.8.default.name=Subject Key Identifier Extension Default
5348b8
 policyset.caCertSet.8.default.params.critical=false
5348b8
 policyset.caCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.caCertSet.9.constraint.name=No Constraint
5348b8
-policyset.caCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.caCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.caCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.caCertSet.9.default.name=Signing Alg
5348b8
 policyset.caCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caDirBasedDualCert.cfg b/base/ca/shared/profiles/ca/caDirBasedDualCert.cfg
5348b8
index 3f34684..ac761c9 100644
5348b8
--- a/base/ca/shared/profiles/ca/caDirBasedDualCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caDirBasedDualCert.cfg
5348b8
@@ -1,6 +1,6 @@
5348b8
 desc=This certificate profile is for enrolling dual user certificates. It works only with Netscape 7.0 or later.
5348b8
 visible=true
5348b8
-enable=true
5348b8
+enable=false
5348b8
 enableBy=admin
5348b8
 name=Directory-authenticated User Signing & Encryption Certificates Enrollment
5348b8
 auth.instance_id=UserDirEnrollment
5348b8
@@ -89,7 +89,7 @@ policyset.encryptionCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.encryptionCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.encryptionCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.encryptionCertSet.9.constraint.name=No Constraint
5348b8
-policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA384withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
+policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA384withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
 policyset.encryptionCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.encryptionCertSet.9.default.name=Signing Alg
5348b8
 policyset.encryptionCertSet.9.default.params.signingAlg=-
5348b8
@@ -161,8 +161,8 @@ policyset.signingCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.signingCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.signingCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.signingCertSet.9.constraint.name=No Constraint
5348b8
-policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
 policyset.signingCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.signingCertSet.9.default.name=Signing Alg
5348b8
 policyset.signingCertSet.9.default.params.signingAlg=-
5348b8
-policyset.signingCertSet.9.default.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.default.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caDirPinUserCert.cfg b/base/ca/shared/profiles/ca/caDirPinUserCert.cfg
5348b8
index af2b5e5..f9e24b9 100644
5348b8
--- a/base/ca/shared/profiles/ca/caDirPinUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caDirPinUserCert.cfg
5348b8
@@ -93,7 +93,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caDirUserCert.cfg b/base/ca/shared/profiles/ca/caDirUserCert.cfg
5348b8
index 0b7f6b7..2e90d97 100644
5348b8
--- a/base/ca/shared/profiles/ca/caDirUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caDirUserCert.cfg
5348b8
@@ -93,7 +93,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caDualCert.cfg b/base/ca/shared/profiles/ca/caDualCert.cfg
5348b8
index 87036d1..c5cf168 100644
5348b8
--- a/base/ca/shared/profiles/ca/caDualCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caDualCert.cfg
5348b8
@@ -89,7 +89,7 @@ policyset.encryptionCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.encryptionCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.encryptionCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.encryptionCertSet.9.constraint.name=No Constraint
5348b8
-policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.encryptionCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.encryptionCertSet.9.default.name=Signing Alg
5348b8
 policyset.encryptionCertSet.9.default.params.signingAlg=-
5348b8
@@ -161,8 +161,8 @@ policyset.signingCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.signingCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.signingCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.signingCertSet.9.constraint.name=No Constraint
5348b8
-policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.signingCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.signingCertSet.9.default.name=Signing Alg
5348b8
 policyset.signingCertSet.9.default.params.signingAlg=-
5348b8
-policyset.signingCertSet.9.default.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.default.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caDualRAuserCert.cfg b/base/ca/shared/profiles/ca/caDualRAuserCert.cfg
5348b8
index 7d61b36..e25b4bb 100644
5348b8
--- a/base/ca/shared/profiles/ca/caDualRAuserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caDualRAuserCert.cfg
5348b8
@@ -88,7 +88,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caECAdminCert.cfg b/base/ca/shared/profiles/ca/caECAdminCert.cfg
5348b8
index d57bae1..84cab82 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECAdminCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECAdminCert.cfg
5348b8
@@ -54,7 +54,7 @@ policyset.adminCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.adminCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -66,7 +66,7 @@ policyset.adminCertSet.6.default.name=Key Usage Default
5348b8
 policyset.adminCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.adminCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.adminCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECDirPinUserCert.cfg b/base/ca/shared/profiles/ca/caECDirPinUserCert.cfg
5348b8
index 4143102..7b33de6 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECDirPinUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECDirPinUserCert.cfg
5348b8
@@ -57,7 +57,7 @@ policyset.userCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -69,7 +69,7 @@ policyset.userCertSet.6.default.name=Key Usage Default
5348b8
 policyset.userCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECDirUserCert.cfg b/base/ca/shared/profiles/ca/caECDirUserCert.cfg
5348b8
index b65999e..11eafa7 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECDirUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECDirUserCert.cfg
5348b8
@@ -57,7 +57,7 @@ policyset.userCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -69,7 +69,7 @@ policyset.userCertSet.6.default.name=Key Usage Default
5348b8
 policyset.userCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECDualCert.cfg b/base/ca/shared/profiles/ca/caECDualCert.cfg
5348b8
index 0a56caf..663aa13 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECDualCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECDualCert.cfg
5348b8
@@ -161,8 +161,7 @@ policyset.signingCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.signingCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.signingCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.signingCertSet.9.constraint.name=No Constraint
5348b8
-policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.signingCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.signingCertSet.9.default.name=Signing Alg
5348b8
 policyset.signingCertSet.9.default.params.signingAlg=-
5348b8
-policyset.signingCertSet.9.default.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caECFullCMCSelfSignedCert.cfg b/base/ca/shared/profiles/ca/caECFullCMCSelfSignedCert.cfg
5348b8
index 48e6499..b3cc471 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECFullCMCSelfSignedCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECFullCMCSelfSignedCert.cfg
5348b8
@@ -48,7 +48,7 @@ policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
5348b8
@@ -60,7 +60,7 @@ policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECFullCMCUserCert.cfg b/base/ca/shared/profiles/ca/caECFullCMCUserCert.cfg
5348b8
index b24cb03..822e96b 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECFullCMCUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECFullCMCUserCert.cfg
5348b8
@@ -51,7 +51,7 @@ policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
5348b8
@@ -63,7 +63,7 @@ policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECFullCMCUserSignedCert.cfg b/base/ca/shared/profiles/ca/caECFullCMCUserSignedCert.cfg
5348b8
index e7b60ee..5a817df 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECFullCMCUserSignedCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECFullCMCUserSignedCert.cfg
5348b8
@@ -59,7 +59,7 @@ policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
5348b8
@@ -71,7 +71,7 @@ policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECInternalAuthServerCert.cfg b/base/ca/shared/profiles/ca/caECInternalAuthServerCert.cfg
5348b8
index 8580544..24d61ca 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECInternalAuthServerCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECInternalAuthServerCert.cfg
5348b8
@@ -78,7 +78,7 @@ policyset.serverCertSet.7.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
 policyset.serverCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
+policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caECSimpleCMCUserCert.cfg b/base/ca/shared/profiles/ca/caECSimpleCMCUserCert.cfg
5348b8
index 8df3576..3d072a2 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECSimpleCMCUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECSimpleCMCUserCert.cfg
5348b8
@@ -50,7 +50,7 @@ policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
5348b8
@@ -62,7 +62,7 @@ policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caECUserCert.cfg b/base/ca/shared/profiles/ca/caECUserCert.cfg
5348b8
index a6bf04a..dda7282 100644
5348b8
--- a/base/ca/shared/profiles/ca/caECUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caECUserCert.cfg
5348b8
@@ -59,7 +59,7 @@ policyset.userCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.constraint.params.keyUsageKeyCertSign=false
5348b8
@@ -71,7 +71,7 @@ policyset.userCertSet.6.default.name=Key Usage Default
5348b8
 policyset.userCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
-policyset.userCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.userCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyEncipherment=false
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyAgreement=true
5348b8
 policyset.userCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caEncUserCert.cfg b/base/ca/shared/profiles/ca/caEncUserCert.cfg
5348b8
index 07e78f9..c166b28 100644
5348b8
--- a/base/ca/shared/profiles/ca/caEncUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caEncUserCert.cfg
5348b8
@@ -89,7 +89,7 @@ policyset.encryptionCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.encryptionCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.encryptionCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.encryptionCertSet.9.constraint.name=No Constraint
5348b8
-policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.encryptionCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.encryptionCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.encryptionCertSet.9.default.name=Signing Alg
5348b8
 policyset.encryptionCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caIPAserviceCert.cfg b/base/ca/shared/profiles/ca/caIPAserviceCert.cfg
5348b8
index 9603758..42d802e 100644
5348b8
--- a/base/ca/shared/profiles/ca/caIPAserviceCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caIPAserviceCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caInstallCACert.cfg b/base/ca/shared/profiles/ca/caInstallCACert.cfg
5348b8
index 7bdb180..ba942d7 100644
5348b8
--- a/base/ca/shared/profiles/ca/caInstallCACert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caInstallCACert.cfg
5348b8
@@ -80,7 +80,7 @@ policyset.caCertSet.8.default.name=Subject Key Identifier Extension Default
5348b8
 policyset.caCertSet.8.default.params.critical=false
5348b8
 policyset.caCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.caCertSet.9.constraint.name=No Constraint
5348b8
-policyset.caCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.caCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.caCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.caCertSet.9.default.name=Signing Alg
5348b8
 policyset.caCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caInternalAuthDRMstorageCert.cfg b/base/ca/shared/profiles/ca/caInternalAuthDRMstorageCert.cfg
5348b8
index 5acc174..60d560d 100644
5348b8
--- a/base/ca/shared/profiles/ca/caInternalAuthDRMstorageCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caInternalAuthDRMstorageCert.cfg
5348b8
@@ -80,7 +80,7 @@ policyset.drmStorageCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.drmStorageCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.drmStorageCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.drmStorageCertSet.9.constraint.name=No Constraint
5348b8
-policyset.drmStorageCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.drmStorageCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.drmStorageCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.drmStorageCertSet.9.default.name=Signing Alg
5348b8
 policyset.drmStorageCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caInternalAuthOCSPCert.cfg b/base/ca/shared/profiles/ca/caInternalAuthOCSPCert.cfg
5348b8
index 8788f94..982c868 100644
5348b8
--- a/base/ca/shared/profiles/ca/caInternalAuthOCSPCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caInternalAuthOCSPCert.cfg
5348b8
@@ -65,7 +65,7 @@ policyset.ocspCertSet.8.default.name=OCSP No Check Extension
5348b8
 policyset.ocspCertSet.8.default.params.ocspNoCheckCritical=false
5348b8
 policyset.ocspCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.ocspCertSet.9.constraint.name=No Constraint
5348b8
-policyset.ocspCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.ocspCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.ocspCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.ocspCertSet.9.default.name=Signing Alg
5348b8
 policyset.ocspCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caInternalAuthServerCert.cfg b/base/ca/shared/profiles/ca/caInternalAuthServerCert.cfg
5348b8
index de3c2a5..25538e7 100644
5348b8
--- a/base/ca/shared/profiles/ca/caInternalAuthServerCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caInternalAuthServerCert.cfg
5348b8
@@ -78,7 +78,7 @@ policyset.serverCertSet.7.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
 policyset.serverCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
+policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
 policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
diff --git a/base/ca/shared/profiles/ca/caInternalAuthTransportCert.cfg b/base/ca/shared/profiles/ca/caInternalAuthTransportCert.cfg
5348b8
index 9f7680a..bdc69bc 100644
5348b8
--- a/base/ca/shared/profiles/ca/caInternalAuthTransportCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caInternalAuthTransportCert.cfg
5348b8
@@ -80,7 +80,7 @@ policyset.transportCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.transportCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.transportCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.transportCertSet.8.constraint.name=No Constraint
5348b8
-policyset.transportCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.transportCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.transportCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.transportCertSet.8.default.name=Signing Alg
5348b8
 policyset.transportCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caJarSigningCert.cfg b/base/ca/shared/profiles/ca/caJarSigningCert.cfg
5348b8
index f5f5e62..8aea48d 100644
5348b8
--- a/base/ca/shared/profiles/ca/caJarSigningCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caJarSigningCert.cfg
5348b8
@@ -80,7 +80,7 @@ policyset.caJarSigningSet.5.default.params.nsCertSSLClient=false
5348b8
 policyset.caJarSigningSet.5.default.params.nsCertSSLServer=false
5348b8
 policyset.caJarSigningSet.6.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.caJarSigningSet.6.constraint.name=No Constraint
5348b8
-policyset.caJarSigningSet.6.constraint.params.signingAlgsAllowed=MD5withRSA,MD2withRSA,SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.caJarSigningSet.6.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.caJarSigningSet.6.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.caJarSigningSet.6.default.name=Signing Alg
5348b8
 policyset.caJarSigningSet.6.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caOtherCert.cfg b/base/ca/shared/profiles/ca/caOtherCert.cfg
5348b8
index e5cf627..5b8f50e 100644
5348b8
--- a/base/ca/shared/profiles/ca/caOtherCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caOtherCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.otherCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.otherCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2
5348b8
 policyset.otherCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.otherCertSet.8.constraint.name=No Constraint
5348b8
-policyset.otherCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.otherCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.otherCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.otherCertSet.8.default.name=Signing Alg
5348b8
 policyset.otherCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caRACert.cfg b/base/ca/shared/profiles/ca/caRACert.cfg
5348b8
index 9774566..fb1199e 100644
5348b8
--- a/base/ca/shared/profiles/ca/caRACert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caRACert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.raCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.raCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.raCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.raCertSet.8.constraint.name=No Constraint
5348b8
-policyset.raCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.raCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.raCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.raCertSet.8.default.name=Signing Alg
5348b8
 policyset.raCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caRARouterCert.cfg b/base/ca/shared/profiles/ca/caRARouterCert.cfg
5348b8
index 05b3a72..c504285 100644
5348b8
--- a/base/ca/shared/profiles/ca/caRARouterCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caRARouterCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caRAagentCert.cfg b/base/ca/shared/profiles/ca/caRAagentCert.cfg
5348b8
index 2199b26..db22f90 100644
5348b8
--- a/base/ca/shared/profiles/ca/caRAagentCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caRAagentCert.cfg
5348b8
@@ -89,7 +89,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caRAserverCert.cfg b/base/ca/shared/profiles/ca/caRAserverCert.cfg
5348b8
index 3a6cefa..e2406b4 100644
5348b8
--- a/base/ca/shared/profiles/ca/caRAserverCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caRAserverCert.cfg
5348b8
@@ -10,7 +10,7 @@ input.i2.class_id=submitterInfoInputImpl
5348b8
 output.list=o1
5348b8
 output.o1.class_id=certOutputImpl
5348b8
 policyset.list=serverCertSet
5348b8
-policyset.serverCertSet.list=1,2,3,4,5,6,7,8
5348b8
+policyset.serverCertSet.list=1,2,3,4,5,6,7,8,9
5348b8
 policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl
5348b8
 policyset.serverCertSet.1.constraint.name=Subject Name Constraint
5348b8
 policyset.serverCertSet.1.constraint.params.pattern=CN=.*
5348b8
@@ -51,7 +51,7 @@ policyset.serverCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.serverCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.serverCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.serverCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
-policyset.serverCertSet.6.constraint.params.keyUsageNonRepudiation=true
5348b8
+policyset.serverCertSet.6.constraint.params.keyUsageNonRepudiation=false
5348b8
 policyset.serverCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
 policyset.serverCertSet.6.constraint.params.keyUsageKeyEncipherment=true
5348b8
 policyset.serverCertSet.6.constraint.params.keyUsageKeyAgreement=false
5348b8
@@ -63,7 +63,7 @@ policyset.serverCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.serverCertSet.6.default.name=Key Usage Default
5348b8
 policyset.serverCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.serverCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
-policyset.serverCertSet.6.default.params.keyUsageNonRepudiation=true
5348b8
+policyset.serverCertSet.6.default.params.keyUsageNonRepudiation=false
5348b8
 policyset.serverCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
 policyset.serverCertSet.6.default.params.keyUsageKeyEncipherment=true
5348b8
 policyset.serverCertSet.6.default.params.keyUsageKeyAgreement=false
5348b8
@@ -79,7 +79,11 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
+policyset.serverCertSet.9.constraint.class_id=noConstraintImpl
5348b8
+policyset.serverCertSet.9.constraint.name=No Constraint
5348b8
+policyset.serverCertSet.9.default.class_id=commonNameToSANDefaultImpl
5348b8
+policyset.serverCertSet.9.default.name=copy CN to SAN Default
5348b8
diff --git a/base/ca/shared/profiles/ca/caRouterCert.cfg b/base/ca/shared/profiles/ca/caRouterCert.cfg
5348b8
index 3364675..b306102 100644
5348b8
--- a/base/ca/shared/profiles/ca/caRouterCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caRouterCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caSigningUserCert.cfg b/base/ca/shared/profiles/ca/caSigningUserCert.cfg
5348b8
index f197ffa..7fac691 100644
5348b8
--- a/base/ca/shared/profiles/ca/caSigningUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caSigningUserCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.signingCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.signingCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.signingCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.signingCertSet.9.constraint.name=No Constraint
5348b8
-policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.signingCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.signingCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.signingCertSet.9.default.name=Signing Alg
5348b8
 policyset.signingCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caSimpleCMCUserCert.cfg b/base/ca/shared/profiles/ca/caSimpleCMCUserCert.cfg
5348b8
index a55873f..6987061 100644
5348b8
--- a/base/ca/shared/profiles/ca/caSimpleCMCUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caSimpleCMCUserCert.cfg
5348b8
@@ -50,7 +50,7 @@ policyset.cmcUserCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
5348b8
 policyset.cmcUserCertSet.6.constraint.name=Key Usage Extension Constraint
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.constraint.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.constraint.params.keyUsageEncipherOnly=false
5348b8
@@ -62,7 +62,7 @@ policyset.cmcUserCertSet.6.default.class_id=keyUsageExtDefaultImpl
5348b8
 policyset.cmcUserCertSet.6.default.name=Key Usage Default
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCritical=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageCrlSign=false
5348b8
-policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=true
5348b8
+policyset.cmcUserCertSet.6.default.params.keyUsageDataEncipherment=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageDigitalSignature=true
5348b8
 policyset.cmcUserCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
diff --git a/base/ca/shared/profiles/ca/caStorageCert.cfg b/base/ca/shared/profiles/ca/caStorageCert.cfg
5348b8
index c8e7205..62d6968 100644
5348b8
--- a/base/ca/shared/profiles/ca/caStorageCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caStorageCert.cfg
5348b8
@@ -10,7 +10,7 @@ input.i2.class_id=submitterInfoInputImpl
5348b8
 output.list=o1
5348b8
 output.o1.class_id=certOutputImpl
5348b8
 policyset.list=drmStorageCertSet
5348b8
-policyset.drmStorageCertSet.list=1,2,3,4,5,6,7,9
5348b8
+policyset.drmStorageCertSet.list=1,2,3,4,5,6,9
5348b8
 policyset.drmStorageCertSet.1.constraint.class_id=subjectNameConstraintImpl
5348b8
 policyset.drmStorageCertSet.1.constraint.name=Subject Name Constraint
5348b8
 policyset.drmStorageCertSet.1.constraint.params.pattern=CN=.*
5348b8
@@ -71,15 +71,9 @@ policyset.drmStorageCertSet.6.default.params.keyUsageKeyCertSign=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageCrlSign=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageEncipherOnly=false
5348b8
 policyset.drmStorageCertSet.6.default.params.keyUsageDecipherOnly=false
5348b8
-policyset.drmStorageCertSet.7.constraint.class_id=noConstraintImpl
5348b8
-policyset.drmStorageCertSet.7.constraint.name=No Constraint
5348b8
-policyset.drmStorageCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
5348b8
-policyset.drmStorageCertSet.7.default.name=Extended Key Usage Extension Default
5348b8
-policyset.drmStorageCertSet.7.default.params.exKeyUsageCritical=false
5348b8
-policyset.drmStorageCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2
5348b8
 policyset.drmStorageCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.drmStorageCertSet.9.constraint.name=No Constraint
5348b8
-policyset.drmStorageCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.drmStorageCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.drmStorageCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.drmStorageCertSet.9.default.name=Signing Alg
5348b8
 policyset.drmStorageCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caTPSCert.cfg b/base/ca/shared/profiles/ca/caTPSCert.cfg
5348b8
index 82a217a..4f98512 100644
5348b8
--- a/base/ca/shared/profiles/ca/caTPSCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caTPSCert.cfg
5348b8
@@ -79,7 +79,7 @@ policyset.serverCertSet.7.default.params.exKeyUsageCritical=false
5348b8
 policyset.serverCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
5348b8
 policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.serverCertSet.8.constraint.name=No Constraint
5348b8
-policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withDSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.serverCertSet.8.default.name=Signing Alg
5348b8
 policyset.serverCertSet.8.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caUUIDdeviceCert.cfg b/base/ca/shared/profiles/ca/caUUIDdeviceCert.cfg
5348b8
index 43caf26..ef8ab5f 100644
5348b8
--- a/base/ca/shared/profiles/ca/caUUIDdeviceCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caUUIDdeviceCert.cfg
5348b8
@@ -93,7 +93,7 @@ policyset.userCertSet.8.default.params.subjAltExtSource_1=UUID4
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=2
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caUserCert.cfg b/base/ca/shared/profiles/ca/caUserCert.cfg
5348b8
index 9164dac..62bc40c 100644
5348b8
--- a/base/ca/shared/profiles/ca/caUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caUserCert.cfg
5348b8
@@ -95,7 +95,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/ca/shared/profiles/ca/caUserSMIMEcapCert.cfg b/base/ca/shared/profiles/ca/caUserSMIMEcapCert.cfg
5348b8
index 43b6e85..81fc027 100644
5348b8
--- a/base/ca/shared/profiles/ca/caUserSMIMEcapCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caUserSMIMEcapCert.cfg
5348b8
@@ -95,7 +95,7 @@ policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
5348b8
 policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
5348b8
 policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
5348b8
 policyset.userCertSet.9.constraint.name=No Constraint
5348b8
-policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC
5348b8
 policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
5348b8
 policyset.userCertSet.9.default.name=Signing Alg
5348b8
 policyset.userCertSet.9.default.params.signingAlg=-
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/profile/common/CACertCAEnrollProfile.java b/base/server/cms/src/com/netscape/cms/profile/common/CACertCAEnrollProfile.java
5348b8
index 1ae2f08..c4f2d6b 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/profile/common/CACertCAEnrollProfile.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/profile/common/CACertCAEnrollProfile.java
5348b8
@@ -76,7 +76,7 @@ public class CACertCAEnrollProfile extends CAEnrollProfile
5348b8
         IConfigStore defConfig4 = def4.getConfigStore();
5348b8
         defConfig4.putString("params.signingAlg", "-");
5348b8
         defConfig4.putString("params.signingAlgsAllowed",
5348b8
-                "SHA1withRSA,SHA256withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA256withEC,SHA384withEC,SHA512withEC");
5348b8
+                "SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA256withEC,SHA384withEC,SHA512withEC");
5348b8
 
5348b8
         // extensions
5348b8
         IProfilePolicy policy5 =
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/profile/def/SigningAlgDefault.java b/base/server/cms/src/com/netscape/cms/profile/def/SigningAlgDefault.java
5348b8
index 81ad58c..97f221e 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/profile/def/SigningAlgDefault.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/profile/def/SigningAlgDefault.java
5348b8
@@ -46,7 +46,7 @@ public class SigningAlgDefault extends EnrollDefault {
5348b8
 
5348b8
     public static final String VAL_ALGORITHM = "signingAlg";
5348b8
     public static final String DEF_CONFIG_ALGORITHMS =
5348b8
-            "-,MD5withRSA,MD2withRSA,SHA1withRSA,SHA256withRSA,SHA512withRSA";
5348b8
+            "-,SHA1withRSA,SHA256withRSA,SHA384withRSA,SHA512withRSA";
5348b8
 
5348b8
     public SigningAlgDefault() {
5348b8
         super();
5348b8
diff --git a/base/server/python/pki/server/deployment/pkiparser.py b/base/server/python/pki/server/deployment/pkiparser.py
5348b8
index 53296fc..3e0c9d2 100644
5348b8
--- a/base/server/python/pki/server/deployment/pkiparser.py
5348b8
+++ b/base/server/python/pki/server/deployment/pkiparser.py
5348b8
@@ -1152,7 +1152,9 @@ class PKIConfigParser:
5348b8
                     "+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
                     "-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256," + \
5348b8
-                    "-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
5348b8
+                    "-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
+                    "+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384," + \
5348b8
+                    "+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
5348b8
             else:
5348b8
                 self.mdict['TOMCAT_SSL_RANGE_CIPHERS_SLOT'] = \
5348b8
                     "-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA," + \
5348b8
@@ -1186,7 +1188,11 @@ class PKIConfigParser:
5348b8
                     "-TLS_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "-TLS_RSA_WITH_3DES_EDE_CBC_SHA," + \
5348b8
                     "+TLS_RSA_WITH_AES_128_CBC_SHA," + \
5348b8
-                    "+TLS_RSA_WITH_AES_256_CBC_SHA"
5348b8
+                    "+TLS_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
+                    "+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384," + \
5348b8
+                    "+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384," + \
5348b8
+                    "+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384," + \
5348b8
+                    "-TLS_RSA_WITH_AES_256_GCM_SHA384"
5348b8
 
5348b8
             if self.deployer.architecture == 64:
5348b8
                 self.mdict['NUXWDOG_JNI_PATH_SLOT'] = (
5348b8
diff --git a/base/server/share/conf/ciphers.info b/base/server/share/conf/ciphers.info
5348b8
index 44c6e4b..e51bffd 100644
5348b8
--- a/base/server/share/conf/ciphers.info
5348b8
+++ b/base/server/share/conf/ciphers.info
5348b8
@@ -123,8 +123,8 @@
5348b8
 #
5348b8
 ##
5348b8
 # For RSA servers:
5348b8
-           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA"
5348b8
+           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,-TLS_RSA_WITH_AES_256_GCM_SHA384"
5348b8
 #
5348b8
 #
5348b8
 # For ECC servers:
5348b8
-           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
5348b8
+           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
5348b8
diff --git a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
5348b8
index d3036f3..c1688e4 100644
5348b8
--- a/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
5348b8
+++ b/base/util/src/com/netscape/cmsutil/crypto/CryptoUtil.java
5348b8
@@ -188,13 +188,21 @@ public class CryptoUtil {
5348b8
     public static final int LINE_COUNT = 76;
5348b8
 
5348b8
     static public final Integer[] clientECCiphers = {
5348b8
+/*
5348b8
         SSLSocket.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
5348b8
         SSLSocket.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
5348b8
+*/
5348b8
         SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
5348b8
         SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
5348b8
         SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
5348b8
-        SSLSocket.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
5348b8
-        SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
5348b8
+//        SSLSocket.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
5348b8
+        SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
5348b8
+        SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
5348b8
+        SSLSocket.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
5348b8
+/*
5348b8
+        SSLSocket.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
5348b8
+        SSLSocket.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
5348b8
+*/
5348b8
     };
5348b8
     static public List<Integer> clientECCipherList = new ArrayList<Integer>(Arrays.asList(clientECCiphers));
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 992d97189bbcfff3427b1dcc752f6588da25e496 Mon Sep 17 00:00:00 2001
5348b8
From: Christina Fu <cfu@redhat.com>
5348b8
Date: Fri, 31 Aug 2018 17:08:30 -0700
5348b8
Subject: [PATCH 10/19] Ticket3027 Disable TLS_RSA_* ciphers for HSM in FIPS
5348b8
 mode
5348b8
5348b8
This patch disables the TLS_RSA_* ciphers by default because they do not work
5348b8
with HSMs in FIPS mode.
5348b8
ciphers.info is also updated to reflect the changes.
5348b8
5348b8
fixes https://pagure.io/dogtagpki/issue/3027
5348b8
5348b8
Change-Id: Id720b8697976bb344d6dd8e4471a1bb5403af172
5348b8
(cherry picked from commit 908514da63dd9364df0f17810d9d41bfb5c596d5)
5348b8
---
5348b8
 .../python/pki/server/deployment/pkiparser.py      | 12 ++--
5348b8
 base/server/share/conf/ciphers.info                | 70 ++++++++--------------
5348b8
 2 files changed, 31 insertions(+), 51 deletions(-)
5348b8
5348b8
diff --git a/base/server/python/pki/server/deployment/pkiparser.py b/base/server/python/pki/server/deployment/pkiparser.py
5348b8
index 3e0c9d2..2397f43 100644
5348b8
--- a/base/server/python/pki/server/deployment/pkiparser.py
5348b8
+++ b/base/server/python/pki/server/deployment/pkiparser.py
5348b8
@@ -1130,7 +1130,7 @@ class PKIConfigParser:
5348b8
                     "+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA," + \
5348b8
                     "-TLS_RSA_WITH_3DES_EDE_CBC_SHA," + \
5348b8
                     "-TLS_RSA_WITH_AES_128_CBC_SHA," + \
5348b8
-                    "+TLS_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
+                    "-TLS_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
                     "-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA," + \
5348b8
                     "+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA," + \
5348b8
                     "-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA," + \
5348b8
@@ -1146,7 +1146,7 @@ class PKIConfigParser:
5348b8
                     "-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256," + \
5348b8
                     "-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "-TLS_RSA_WITH_AES_128_CBC_SHA256," + \
5348b8
-                    "+TLS_RSA_WITH_AES_256_CBC_SHA256," + \
5348b8
+                    "-TLS_RSA_WITH_AES_256_CBC_SHA256," + \
5348b8
                     "-TLS_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256," + \
5348b8
                     "+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256," + \
5348b8
@@ -1183,12 +1183,12 @@ class PKIConfigParser:
5348b8
                     "+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256," + \
5348b8
                     "-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
-                    "+TLS_RSA_WITH_AES_128_CBC_SHA256," + \
5348b8
-                    "+TLS_RSA_WITH_AES_256_CBC_SHA256," + \
5348b8
+                    "-TLS_RSA_WITH_AES_128_CBC_SHA256," + \
5348b8
+                    "-TLS_RSA_WITH_AES_256_CBC_SHA256," + \
5348b8
                     "-TLS_RSA_WITH_AES_128_GCM_SHA256," + \
5348b8
                     "-TLS_RSA_WITH_3DES_EDE_CBC_SHA," + \
5348b8
-                    "+TLS_RSA_WITH_AES_128_CBC_SHA," + \
5348b8
-                    "+TLS_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
+                    "-TLS_RSA_WITH_AES_128_CBC_SHA," + \
5348b8
+                    "-TLS_RSA_WITH_AES_256_CBC_SHA," + \
5348b8
                     "+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384," + \
5348b8
                     "+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384," + \
5348b8
                     "+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384," + \
5348b8
diff --git a/base/server/share/conf/ciphers.info b/base/server/share/conf/ciphers.info
5348b8
index e51bffd..bbb3cf1 100644
5348b8
--- a/base/server/share/conf/ciphers.info
5348b8
+++ b/base/server/share/conf/ciphers.info
5348b8
@@ -26,17 +26,6 @@
5348b8
 #        suited for the type of the server installed.  Changes can be made to
5348b8
 #        suit each site's needs.
5348b8
 #
5348b8
-#        Although TLS1.2 ciphers (SHA256) are preferred, many older clients
5348b8
-#        do not support them.  For example, the following "preferred modern"
5348b8
-#        ciphers are on by default, and by simply limiting the
5348b8
-#        sslVersionRange* parameters, they can be turned off.
5348b8
-#
5348b8
-#            TLS_RSA_WITH_AES_128_CBC_SHA256,
5348b8
-#            TLS_RSA_WITH_AES_256_CBC_SHA256,
5348b8
-#            TLS_RSA_WITH_AES_128_GCM_SHA256,
5348b8
-#            TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
5348b8
-#            TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
5348b8
-#
5348b8
 #        The TLS_ECDHE_RSA_* ciphers provide Perfect Forward Secrecy,
5348b8
 #        which, while provide added security to the already secure and adequate
5348b8
 #        TLS_RSA_* ciphers, requires 3 times longer to establish SSL sessions.
5348b8
@@ -62,25 +51,6 @@
5348b8
 #            TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
5348b8
 #            TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
5348b8
 #
5348b8
-#        The following somewhat weaker ciphers (in CBC mode), though
5348b8
-#        adequate for the CS operations, can be turned off if so desired:
5348b8
-#
5348b8
-#            TLS_RSA_WITH_AES_128_CBC_SHA,
5348b8
-#            TLS_RSA_WITH_AES_256_CBC_SHA,
5348b8
-#
5348b8
-#        Note: In an EC CS server setup, you will see by default that the
5348b8
-#              following RSA ciphers are left on.  Those are used for
5348b8
-#              installation where the actual systems certs have not yet been
5348b8
-#              created, and a temporary RSA ssl server cert is at play.
5348b8
-#
5348b8
-#              Those can be turned off manually by sites.
5348b8
-#
5348b8
-#                  TLS_RSA_WITH_AES_256_CBC_SHA256,
5348b8
-#                  TLS_RSA_WITH_AES_128_GCM_SHA256
5348b8
-#
5348b8
-#              These ciphers might be removed by the installation script in
5348b8
-#              some future release.
5348b8
-#
5348b8
 #        For RHEL 7.5 or greater:
5348b8
 #
5348b8
 #            * all '3DES' ciphers have been disabled,
5348b8
@@ -98,33 +68,43 @@
5348b8
 #                +TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
5348b8
 #                +TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
5348b8
 #                +TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
5348b8
+#                +TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
5348b8
 #                +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
5348b8
+#                +TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
5348b8
 #                +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
5348b8
 #                +TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
5348b8
-#                +TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
5348b8
-#                +TLS_RSA_WITH_AES_128_CBC_SHA256,
5348b8
-#                +TLS_RSA_WITH_AES_256_CBC_SHA256,
5348b8
-#                +TLS_RSA_WITH_AES_128_CBC_SHA,
5348b8
-#                +TLS_RSA_WITH_AES_256_CBC_SHA
5348b8
-#
5348b8
-#                NOTE: The last two ciphers, TLS_RSA_WITH_AES_128_CBC_SHA,
5348b8
-#                      and TLS_RSA_WITH_AES_256_CBC_SHA, may need to remain
5348b8
-#                      enabled in order to talk to the LDAP server
5348b8
-#                      during pkispawn installation/configuration.
5348b8
+#                +TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
5348b8
+#                +TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
5348b8
 #
5348b8
 #            Default ciphers enabled for ECC servers:
5348b8
 #
5348b8
 #                +TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
5348b8
-#                +TLS_RSA_WITH_AES_256_CBC_SHA,
5348b8
 #                +TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
5348b8
-#                +TLS_RSA_WITH_AES_256_CBC_SHA256,
5348b8
 #                +TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
5348b8
-#                +TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
5348b8
+#                +TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
5348b8
+#                +TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
5348b8
+#                +TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
5348b8
+#
5348b8
+#        For RHEL 7.6 or greater:
5348b8
+#
5348b8
+#        The following ciphers do not work with HSM in FIPS mode, and
5348b8
+#        are therefore disabled by default.
5348b8
+#
5348b8
+#            TLS_RSA_WITH_AES_256_CBC_SHA,
5348b8
+#            TLS_RSA_WITH_AES_128_CBC_SHA,
5348b8
+#            TLS_RSA_WITH_AES_128_CBC_SHA256,
5348b8
+#            TLS_RSA_WITH_AES_256_CBC_SHA256,
5348b8
+#            TLS_RSA_WITH_AES_128_GCM_SHA256,
5348b8
+#            TLS_RSA_WITH_AES_256_GCM_SHA384
5348b8
+#
5348b8
+#            note:
5348b8
+#              * They are currently not preferred in TLS 1.2
5348b8
+#              * They are deprecated in TLS 1.3
5348b8
 #
5348b8
 ##
5348b8
 # For RSA servers:
5348b8
-           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,-TLS_RSA_WITH_AES_256_GCM_SHA384"
5348b8
+           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_AES_128_CBC_SHA256,-TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,-TLS_RSA_WITH_AES_256_CBC_SHA,+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,-TLS_RSA_WITH_AES_256_GCM_SHA384"
5348b8
 #
5348b8
 #
5348b8
 # For ECC servers:
5348b8
-           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,+TLS_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_AES_128_CBC_SHA256,+TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
5348b8
+           sslRangeCiphers="-TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,-TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,-TLS_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_RSA_WITH_AES_128_CBC_SHA,-TLS_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,-TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_CBC_SHA,-TLS_DHE_DSS_WITH_AES_256_CBC_SHA,-TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,-TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA,-TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,-TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,-TLS_RSA_WITH_AES_128_CBC_SHA256,-TLS_RSA_WITH_AES_256_CBC_SHA256,-TLS_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,-TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,-TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 5385791f72c5fab901aa38cbc31fd2fd9af269bf Mon Sep 17 00:00:00 2001
5348b8
From: Christina Fu <cfu@redhat.com>
5348b8
Date: Tue, 18 Sep 2018 16:13:29 -0700
5348b8
Subject: [PATCH 11/19] Bug1628410 CMC: add config to allow non-clientAuth
5348b8
5348b8
This patch adds a new parameter, cmc.bypassClientAuth, in the CS.cfg
5348b8
to allow agents to bypass clientAuth requirement in CMCAuth.
5348b8
Default value for cmc.bypassClientAuth is false.
5348b8
5348b8
In addition, CMC enrollment profile caCMCUserCert "visible" value is
5348b8
set to false.
5348b8
5348b8
fixes https://bugzilla.redhat.com/show_bug.cgi?id=1628410
5348b8
5348b8
Change-Id: Ie3efda321472c1e1b27ac4c5ecf63db753ce70fc
5348b8
(cherry picked from commit 19120d14941b5964a728ab06b0406be3ddeff5d4)
5348b8
---
5348b8
 base/ca/shared/profiles/ca/caCMCUserCert.cfg       |  2 +-
5348b8
 .../com/netscape/cms/authentication/CMCAuth.java   | 50 +++++++++++++---------
5348b8
 2 files changed, 30 insertions(+), 22 deletions(-)
5348b8
5348b8
diff --git a/base/ca/shared/profiles/ca/caCMCUserCert.cfg b/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
index 657b98e..1f990f2 100644
5348b8
--- a/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
+++ b/base/ca/shared/profiles/ca/caCMCUserCert.cfg
5348b8
@@ -1,5 +1,5 @@
5348b8
 desc=This certificate profile is for enrolling user certificates by using the CMC certificate request with CMC Signature authentication.
5348b8
-visible=true
5348b8
+visible=false
5348b8
 enable=true
5348b8
 enableBy=admin
5348b8
 auth.instance_id=CMCAuth
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/authentication/CMCAuth.java b/base/server/cms/src/com/netscape/cms/authentication/CMCAuth.java
5348b8
index 9b6a819..98d5e29 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/authentication/CMCAuth.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/authentication/CMCAuth.java
5348b8
@@ -127,6 +127,7 @@ public class CMCAuth implements IAuthManager, IExtendedPluginInfo,
5348b8
 
5348b8
     /* authentication plug-in configuration store */
5348b8
     private IConfigStore mConfig;
5348b8
+    private boolean mBypassClientAuth = false;
5348b8
     private static final String HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----";
5348b8
     private static final String TRAILER = "-----END NEW CERTIFICATE REQUEST-----";
5348b8
     public static final String TOKEN_CERT_SERIAL = "certSerialToRevoke";
5348b8
@@ -213,6 +214,8 @@ public class CMCAuth implements IAuthManager, IExtendedPluginInfo,
5348b8
         mName = name;
5348b8
         mImplName = implName;
5348b8
         mConfig = config;
5348b8
+        mBypassClientAuth =
5348b8
+                CMS.getConfigStore().getBoolean("cmc.bypassClientAuth", false);
5348b8
 
5348b8
         log(ILogger.LL_INFO, "Initialization complete!");
5348b8
     }
5348b8
@@ -882,28 +885,33 @@ public class CMCAuth implements IAuthManager, IExtendedPluginInfo,
5348b8
                             X509Certificate clientCert =
5348b8
                                     (X509Certificate) auditContext.get(SessionContext.SSL_CLIENT_CERT);
5348b8
                             if (clientCert == null) {
5348b8
-                            //    createAuditSubjectFromCert(auditContext, x509Certs[0]);
5348b8
-                                msg = "missing SSL client authentication certificate;";
5348b8
-                                CMS.debug(method + msg);
5348b8
-                                s.close();
5348b8
-                                throw new EMissingCredential(
5348b8
-                                        CMS.getUserMessage("CMS_AUTHENTICATION_NO_CERT"));
5348b8
-                            }
5348b8
-                            netscape.security.x509.X500Name clientPrincipal =
5348b8
-                                    (X500Name) clientCert.getSubjectDN();
5348b8
-
5348b8
-                            netscape.security.x509.X500Name cmcPrincipal =
5348b8
-                                    (X500Name) x509Certs[0].getSubjectDN();
5348b8
-
5348b8
-                            // check ssl client cert against cmc signer
5348b8
-                            if (!clientPrincipal.equals(cmcPrincipal)) {
5348b8
-                                msg = "SSL client authentication certificate and CMC signer do not match";
5348b8
-                                CMS.debug(method + msg);
5348b8
-                                s.close();
5348b8
-                                throw new EInvalidCredentials(
5348b8
-                                        CMS.getUserMessage("CMS_AUTHENTICATION_INVALID_CREDENTIAL") + ":" + msg);
5348b8
+                                if (mBypassClientAuth) {
5348b8
+                                    msg = "missing SSL client authentication certificate; allowed";
5348b8
+                                    CMS.debug(method + msg);
5348b8
+                                } else {
5348b8
+                                    msg = "missing SSL client authentication certificate;";
5348b8
+                                    CMS.debug(method + msg);
5348b8
+                                    s.close();
5348b8
+                                    throw new EMissingCredential(
5348b8
+                                            CMS.getUserMessage("CMS_AUTHENTICATION_NO_CERT"));
5348b8
+                                }
5348b8
                             } else {
5348b8
-                                CMS.debug(method + "ssl client cert principal and cmc signer principal match");
5348b8
+                                netscape.security.x509.X500Name clientPrincipal =
5348b8
+                                        (X500Name) clientCert.getSubjectDN();
5348b8
+
5348b8
+                                netscape.security.x509.X500Name cmcPrincipal =
5348b8
+                                        (X500Name) x509Certs[0].getSubjectDN();
5348b8
+
5348b8
+                                // check ssl client cert against cmc signer
5348b8
+                                if (!clientPrincipal.equals(cmcPrincipal)) {
5348b8
+                                    msg = "SSL client authentication certificate and CMC signer do not match";
5348b8
+                                    CMS.debug(method + msg);
5348b8
+                                    s.close();
5348b8
+                                    throw new EInvalidCredentials(
5348b8
+                                            CMS.getUserMessage("CMS_AUTHENTICATION_INVALID_CREDENTIAL") + ":" + msg);
5348b8
+                                } else {
5348b8
+                                    CMS.debug(method + "ssl client cert principal and cmc signer principal match");
5348b8
+                                }
5348b8
                             }
5348b8
 
5348b8
                             PublicKey signKey = cert.getPublicKey();
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From b53d4f5f135432d6bc25b4bc0def1ea4b44705a4 Mon Sep 17 00:00:00 2001
5348b8
From: Dinesh Prasanth M K <SilleBille@users.noreply.github.com>
5348b8
Date: Mon, 1 Oct 2018 16:25:08 -0400
5348b8
Subject: [PATCH 12/19] Fixes password leak of Auth plugins to Audit Logs (#57)
5348b8
5348b8
* Auth plugin adds `(sensitive)` instead of plain passwords
5348b8
to AuditLogs
5348b8
* Added generic `isSensitive()` to identify Passwords before logging
5348b8
5348b8
Signed-off-by: Dinesh Prasanth M K <dmoluguw@redhat.com>
5348b8
5348b8
(cherry picked from commit cc2b50fac7542476aef222ab5f1d49d86e38cba1)
5348b8
---
5348b8
 base/common/src/com/netscape/certsrv/apps/CMS.java | 30 ++++++++++++++++++++++
5348b8
 .../netscape/cms/servlet/admin/AdminServlet.java   | 18 ++-----------
5348b8
 .../com/netscape/cms/servlet/base/CMSServlet.java  | 21 +--------------
5348b8
 .../netscape/cms/servlet/csadmin/BaseServlet.java  | 15 +----------
5348b8
 .../cms/servlet/processors/CAProcessor.java        | 16 +-----------
5348b8
 .../servlet/profile/ProfileSubmitCMCServlet.java   | 17 ++----------
5348b8
 6 files changed, 37 insertions(+), 80 deletions(-)
5348b8
5348b8
diff --git a/base/common/src/com/netscape/certsrv/apps/CMS.java b/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
index d04223f..0bf186e 100644
5348b8
--- a/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
+++ b/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
@@ -1672,6 +1672,36 @@ public final class CMS {
5348b8
     }
5348b8
 
5348b8
     /**
5348b8
+     * Check whether the string is contains password
5348b8
+     *
5348b8
+     * @param name key string
5348b8
+     * @return whether key is a password or not
5348b8
+     */
5348b8
+    public static boolean isSensitive(String name) {
5348b8
+        return (name.startsWith("__") ||
5348b8
+                name.endsWith("password") ||
5348b8
+                name.endsWith("passwd") ||
5348b8
+                name.endsWith("pwd") ||
5348b8
+                name.equalsIgnoreCase("admin_password_again") ||
5348b8
+                name.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
+                name.equalsIgnoreCase("bindpassword") ||
5348b8
+                name.equalsIgnoreCase("bindpwd") ||
5348b8
+                name.equalsIgnoreCase("passwd") ||
5348b8
+                name.equalsIgnoreCase("password") ||
5348b8
+                name.equalsIgnoreCase("pin") ||
5348b8
+                name.equalsIgnoreCase("pwd") ||
5348b8
+                name.equalsIgnoreCase("pwdagain") ||
5348b8
+                name.equalsIgnoreCase("uPasswd") ||
5348b8
+                name.equalsIgnoreCase("PASSWORD_CACHE_ADD") ||
5348b8
+                name.startsWith("p12Password") ||
5348b8
+                name.equalsIgnoreCase("host_challenge") ||
5348b8
+                name.equalsIgnoreCase("card_challenge") ||
5348b8
+                name.equalsIgnoreCase("card_cryptogram") ||
5348b8
+                name.equalsIgnoreCase("drm_trans_desKey") ||
5348b8
+                name.equalsIgnoreCase("cert_request"));
5348b8
+    }
5348b8
+
5348b8
+    /**
5348b8
      * Main driver to start CMS.
5348b8
      */
5348b8
     public static void main(String[] args) {
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/AdminServlet.java b/base/server/cms/src/com/netscape/cms/servlet/admin/AdminServlet.java
5348b8
index 2b8cec7..ed5393b 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/AdminServlet.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/AdminServlet.java
5348b8
@@ -203,21 +203,7 @@ public class AdminServlet extends HttpServlet {
5348b8
             // __ (double underscores); however, in the event that
5348b8
             // a security parameter slips through, we perform multiple
5348b8
             // additional checks to insure that it is NOT displayed
5348b8
-            if (pn.startsWith("__") ||
5348b8
-                    pn.endsWith("password") ||
5348b8
-                    pn.endsWith("passwd") ||
5348b8
-                    pn.endsWith("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("admin_password_again") ||
5348b8
-                    pn.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
-                    pn.equalsIgnoreCase("bindpassword") ||
5348b8
-                    pn.equalsIgnoreCase("bindpwd") ||
5348b8
-                    pn.equalsIgnoreCase("passwd") ||
5348b8
-                    pn.equalsIgnoreCase("password") ||
5348b8
-                    pn.equalsIgnoreCase("pin") ||
5348b8
-                    pn.equalsIgnoreCase("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("pwdagain") ||
5348b8
-                    pn.equalsIgnoreCase("uPasswd") ||
5348b8
-                    pn.equalsIgnoreCase("PASSWORD_CACHE_ADD")) {
5348b8
+            if (CMS.isSensitive(pn)) {
5348b8
                 CMS.debug("AdminServlet::service() param name='" + pn +
5348b8
                         "' value='(sensitive)'");
5348b8
             } else {
5348b8
@@ -992,7 +978,7 @@ public class AdminServlet extends HttpServlet {
5348b8
             if (name.equals(Constants.RS_ID)) continue;
5348b8
 
5348b8
             String value = null;
5348b8
-            if (name.equalsIgnoreCase("PASSWORD_CACHE_ADD"))
5348b8
+            if (CMS.isSensitive(name))
5348b8
                 value = "(sensitive)";
5348b8
             else
5348b8
                 value = req.getParameter(name);
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/base/CMSServlet.java b/base/server/cms/src/com/netscape/cms/servlet/base/CMSServlet.java
5348b8
index f18db1a..0c65702 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/base/CMSServlet.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/base/CMSServlet.java
5348b8
@@ -403,26 +403,7 @@ public abstract class CMSServlet extends HttpServlet {
5348b8
             // __ (double underscores); however, in the event that
5348b8
             // a security parameter slips through, we perform multiple
5348b8
             // additional checks to insure that it is NOT displayed
5348b8
-            if (pn.startsWith("__") ||
5348b8
-                    pn.endsWith("password") ||
5348b8
-                    pn.endsWith("passwd") ||
5348b8
-                    pn.endsWith("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("admin_password_again") ||
5348b8
-                    pn.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
-                    pn.equalsIgnoreCase("bindpassword") ||
5348b8
-                    pn.equalsIgnoreCase("bindpwd") ||
5348b8
-                    pn.equalsIgnoreCase("passwd") ||
5348b8
-                    pn.equalsIgnoreCase("password") ||
5348b8
-                    pn.equalsIgnoreCase("pin") ||
5348b8
-                    pn.equalsIgnoreCase("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("pwdagain") ||
5348b8
-                    pn.startsWith("p12Password") ||
5348b8
-                    pn.equalsIgnoreCase("uPasswd") ||
5348b8
-                    pn.equalsIgnoreCase("host_challenge") ||
5348b8
-                    pn.equalsIgnoreCase("card_challenge") ||
5348b8
-                    pn.equalsIgnoreCase("card_cryptogram") ||
5348b8
-                    pn.equalsIgnoreCase("drm_trans_desKey") ||
5348b8
-                    pn.equalsIgnoreCase("cert_request")) {
5348b8
+            if (CMS.isSensitive(pn)) {
5348b8
                 CMS.debug("CMSServlet::service() param name='" + pn +
5348b8
                         "' value='(sensitive)'");
5348b8
             } else {
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/BaseServlet.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/BaseServlet.java
5348b8
index 3b3ae40..70922dc 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/BaseServlet.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/BaseServlet.java
5348b8
@@ -70,20 +70,7 @@ public class BaseServlet extends VelocityServlet {
5348b8
             // __ (double underscores); however, in the event that
5348b8
             // a security parameter slips through, we perform multiple
5348b8
             // additional checks to insure that it is NOT displayed
5348b8
-            if (pn.startsWith("__") ||
5348b8
-                    pn.endsWith("password") ||
5348b8
-                    pn.endsWith("passwd") ||
5348b8
-                    pn.endsWith("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("admin_password_again") ||
5348b8
-                    pn.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
-                    pn.equalsIgnoreCase("bindpassword") ||
5348b8
-                    pn.equalsIgnoreCase("bindpwd") ||
5348b8
-                    pn.equalsIgnoreCase("passwd") ||
5348b8
-                    pn.equalsIgnoreCase("password") ||
5348b8
-                    pn.equalsIgnoreCase("pin") ||
5348b8
-                    pn.equalsIgnoreCase("pwd") ||
5348b8
-                    pn.equalsIgnoreCase("pwdagain") ||
5348b8
-                    pn.equalsIgnoreCase("uPasswd")) {
5348b8
+            if (CMS.isSensitive(pn)) {
5348b8
                 CMS.debug("BaseServlet::service() param name='" + pn +
5348b8
                          "' value='(sensitive)'");
5348b8
             } else {
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java b/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
5348b8
index 62b4242..f732c4d 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/processors/CAProcessor.java
5348b8
@@ -258,21 +258,7 @@ public class CAProcessor extends Processor {
5348b8
             // __ (double underscores); however, in the event that
5348b8
             // a security parameter slips through, we perform multiple
5348b8
             // additional checks to insure that it is NOT displayed
5348b8
-            if (paramName.startsWith("__") ||
5348b8
-                    paramName.endsWith("password") ||
5348b8
-                    paramName.endsWith("passwd") ||
5348b8
-                    paramName.endsWith("pwd") ||
5348b8
-                    paramName.equalsIgnoreCase("admin_password_again") ||
5348b8
-                    paramName.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
-                    paramName.equalsIgnoreCase("bindpassword") ||
5348b8
-                    paramName.equalsIgnoreCase("bindpwd") ||
5348b8
-                    paramName.equalsIgnoreCase("passwd") ||
5348b8
-                    paramName.equalsIgnoreCase("password") ||
5348b8
-                    paramName.equalsIgnoreCase("pin") ||
5348b8
-                    paramName.equalsIgnoreCase("pwd") ||
5348b8
-                    paramName.equalsIgnoreCase("pwdagain") ||
5348b8
-                    paramName.equalsIgnoreCase("uPasswd") ||
5348b8
-                    paramName.equalsIgnoreCase("cert_request")) {
5348b8
+            if (CMS.isSensitive(paramName)) {
5348b8
                 CMS.debug("CAProcessor: - " + paramName + ": (sensitive)");
5348b8
             } else {
5348b8
                 CMS.debug("CAProcessor: - " + paramName + ": " + entry.getValue());
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/profile/ProfileSubmitCMCServlet.java b/base/server/cms/src/com/netscape/cms/servlet/profile/ProfileSubmitCMCServlet.java
5348b8
index 03e94a8..81a2f2a 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/profile/ProfileSubmitCMCServlet.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/profile/ProfileSubmitCMCServlet.java
5348b8
@@ -47,9 +47,9 @@ import com.netscape.certsrv.authorization.AuthzToken;
5348b8
 import com.netscape.certsrv.base.EBaseException;
5348b8
 import com.netscape.certsrv.base.SessionContext;
5348b8
 import com.netscape.certsrv.logging.AuditEvent;
5348b8
+import com.netscape.certsrv.logging.ILogger;
5348b8
 import com.netscape.certsrv.logging.event.AuthEvent;
5348b8
 import com.netscape.certsrv.logging.event.CertRequestProcessedEvent;
5348b8
-import com.netscape.certsrv.logging.ILogger;
5348b8
 import com.netscape.certsrv.profile.ECMCBadIdentityException;
5348b8
 import com.netscape.certsrv.profile.ECMCBadMessageCheckException;
5348b8
 import com.netscape.certsrv.profile.ECMCBadRequestException;
5348b8
@@ -306,20 +306,7 @@ public class ProfileSubmitCMCServlet extends ProfileServlet {
5348b8
                 // __ (double underscores); however, in the event that
5348b8
                 // a security parameter slips through, we perform multiple
5348b8
                 // additional checks to insure that it is NOT displayed
5348b8
-                if (paramName.startsWith("__") ||
5348b8
-                        paramName.endsWith("password") ||
5348b8
-                        paramName.endsWith("passwd") ||
5348b8
-                        paramName.endsWith("pwd") ||
5348b8
-                        paramName.equalsIgnoreCase("admin_password_again") ||
5348b8
-                        paramName.equalsIgnoreCase("directoryManagerPwd") ||
5348b8
-                        paramName.equalsIgnoreCase("bindpassword") ||
5348b8
-                        paramName.equalsIgnoreCase("bindpwd") ||
5348b8
-                        paramName.equalsIgnoreCase("passwd") ||
5348b8
-                        paramName.equalsIgnoreCase("password") ||
5348b8
-                        paramName.equalsIgnoreCase("pin") ||
5348b8
-                        paramName.equalsIgnoreCase("pwd") ||
5348b8
-                        paramName.equalsIgnoreCase("pwdagain") ||
5348b8
-                        paramName.equalsIgnoreCase("uPasswd")) {
5348b8
+                if (CMS.isSensitive(paramName)) {
5348b8
                     CMS.debug("ProfileSubmitCMCServlet Input Parameter " +
5348b8
                               paramName + "='(sensitive)'");
5348b8
                 } else {
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 4041f30e683307eb96140c8b81e48e62c2e7c34a Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Tue, 28 Aug 2018 23:08:13 +0200
5348b8
Subject: [PATCH 13/19] Fixed CA signing cert importation
5348b8
5348b8
The pki_ca_signing_cert_path param has been modified to have
5348b8
an empty value by default.
5348b8
5348b8
The import_ca_signing_cert() has been modified such that if
5348b8
the param is not specified, it will return silently. If the
5348b8
param contains an invalid path, the method will fail. If the
5348b8
param contains a valid path to the CA signing cert, the cert
5348b8
will be imported into the NSS database.
5348b8
5348b8
https://pagure.io/dogtagpki/issue/3040
5348b8
5348b8
Change-Id: Idde1850744391162495599067c840c47ef47de69
5348b8
(cherry picked from commit a4f5b17ee96adf79391f9def6e04bb239a779cbe)
5348b8
---
5348b8
 base/server/etc/default.cfg                           |  2 +-
5348b8
 base/server/man/man5/pki_default.cfg.5                |  2 +-
5348b8
 .../pki/server/deployment/scriptlets/configuration.py | 19 ++++++++++---------
5348b8
 3 files changed, 12 insertions(+), 11 deletions(-)
5348b8
5348b8
diff --git a/base/server/etc/default.cfg b/base/server/etc/default.cfg
5348b8
index 0f348ee..b92cca7 100644
5348b8
--- a/base/server/etc/default.cfg
5348b8
+++ b/base/server/etc/default.cfg
5348b8
@@ -94,7 +94,7 @@ pki_ca_port=%(pki_security_domain_https_port)s
5348b8
 pki_ca_signing_nickname=caSigningCert cert-%(pki_instance_name)s CA
5348b8
 
5348b8
 # DEPRECATED: Use 'pki_ca_signing_cert_path' instead.
5348b8
-pki_external_ca_cert_path=%(pki_instance_configuration_path)s/external_ca.cert
5348b8
+pki_external_ca_cert_path=
5348b8
 pki_ca_signing_cert_path=%(pki_external_ca_cert_path)s
5348b8
 
5348b8
 pki_client_admin_cert_p12=%(pki_client_dir)s/%(pki_subsystem_type)s_admin_cert.p12
5348b8
diff --git a/base/server/man/man5/pki_default.cfg.5 b/base/server/man/man5/pki_default.cfg.5
5348b8
index fe3cdc7..afdcbfb 100644
5348b8
--- a/base/server/man/man5/pki_default.cfg.5
5348b8
+++ b/base/server/man/man5/pki_default.cfg.5
5348b8
@@ -413,7 +413,7 @@ Required for the second step of a stand-alone PKI process.  This is the location
5348b8
 .PP
5348b8
 .B pki_ca_signing_cert_path
5348b8
 .IP
5348b8
-Required for the second step of a stand-alone PKI process.  This is the location of the file containing the external CA's certificate chain (as issued by the external CA).  Defaults to '%(pki_instance_configuration_path)s/external_ca_chain.cert'.
5348b8
+Required for the second step of a stand-alone PKI process.  This is the location of the file containing the external CA's certificate chain (as issued by the external CA).  Defaults to empty.
5348b8
 .PP
5348b8
 .B pki_external_admin_cert_path
5348b8
 .IP
5348b8
diff --git a/base/server/python/pki/server/deployment/scriptlets/configuration.py b/base/server/python/pki/server/deployment/scriptlets/configuration.py
5348b8
index fd043a8..1b62445 100644
5348b8
--- a/base/server/python/pki/server/deployment/scriptlets/configuration.py
5348b8
+++ b/base/server/python/pki/server/deployment/scriptlets/configuration.py
5348b8
@@ -395,15 +395,16 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
5348b8
             self.import_system_cert_request(deployer, subsystem, 'subsystem')
5348b8
             self.import_system_cert_request(deployer, subsystem, 'sslserver')
5348b8
 
5348b8
-    def import_ca_signing_cert(self, deployer, nssdb, subsystem):
5348b8
+    def import_ca_signing_cert(self, deployer, nssdb):
5348b8
 
5348b8
         param = 'pki_ca_signing_cert_path'
5348b8
         cert_file = deployer.mdict.get(param)
5348b8
-        if not cert_file or not os.path.exists(cert_file):
5348b8
-            if subsystem.name == 'ca':
5348b8
-                raise Exception('Invalid certificate path: %s=%s' % (param, cert_file))
5348b8
-            else:
5348b8
-                return
5348b8
+
5348b8
+        if not cert_file:
5348b8
+            return
5348b8
+
5348b8
+        if not os.path.exists(cert_file):
5348b8
+            raise Exception('Invalid certificate path: %s=%s' % (param, cert_file))
5348b8
 
5348b8
         nickname = deployer.mdict['pki_ca_signing_nickname']
5348b8
 
5348b8
@@ -593,14 +594,14 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
5348b8
     def import_system_certs(self, deployer, nssdb, subsystem):
5348b8
 
5348b8
         if subsystem.name == 'ca':
5348b8
-            self.import_ca_signing_cert(deployer, nssdb, subsystem)
5348b8
+            self.import_ca_signing_cert(deployer, nssdb)
5348b8
             self.import_ca_ocsp_signing_cert(deployer, nssdb)
5348b8
 
5348b8
         if subsystem.name == 'kra':
5348b8
             # Always import cert chain into internal token.
5348b8
             internal_nssdb = subsystem.instance.open_nssdb()
5348b8
             try:
5348b8
-                self.import_ca_signing_cert(deployer, internal_nssdb, subsystem)
5348b8
+                self.import_ca_signing_cert(deployer, internal_nssdb)
5348b8
             finally:
5348b8
                 internal_nssdb.close()
5348b8
 
5348b8
@@ -612,7 +613,7 @@ class PkiScriptlet(pkiscriptlet.AbstractBasePkiScriptlet):
5348b8
             # Always import cert chain into internal token.
5348b8
             internal_nssdb = subsystem.instance.open_nssdb()
5348b8
             try:
5348b8
-                self.import_ca_signing_cert(deployer, internal_nssdb, subsystem)
5348b8
+                self.import_ca_signing_cert(deployer, internal_nssdb)
5348b8
             finally:
5348b8
                 internal_nssdb.close()
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 6fbffb076caea906381e47bc1b6cae9da9892ae4 Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Tue, 23 Oct 2018 03:31:33 +0200
5348b8
Subject: [PATCH 14/19] Fixed password prompt in pki CLI
5348b8
5348b8
The pki CLI has been modified not to throw an exception when the
5348b8
user specifies a username without any password. The CLI will then
5348b8
prompt for a password.
5348b8
5348b8
https://pagure.io/dogtagpki/issue/2840
5348b8
(cherry picked from commit b1bda0a1e7baca575561c08e78d93ae7c7160738)
5348b8
---
5348b8
 base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java | 3 ---
5348b8
 1 file changed, 3 deletions(-)
5348b8
5348b8
diff --git a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
5348b8
index 711625a..50e5b75 100644
5348b8
--- a/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
5348b8
+++ b/base/java-tools/src/com/netscape/cmstools/cli/MainCLI.java
5348b8
@@ -378,9 +378,6 @@ public class MainCLI extends CLI {
5348b8
 
5348b8
             if (passwordFile != null && password != null) {
5348b8
                 throw new Exception("The '-W' and '-w' options are mutually exclusive.");
5348b8
-
5348b8
-            } else if (passwordFile == null && password == null) {
5348b8
-                throw new Exception("Missing user password.");
5348b8
             }
5348b8
         }
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 60ad482668db175f297e55a947f55021871ce348 Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Wed, 17 Oct 2018 18:21:52 +0200
5348b8
Subject: [PATCH 16/19] Added CMSEngine.disableSubsystem()
5348b8
5348b8
The code that calls pki-server subsystem-disable in
5348b8
SelfTestSubsystem has been moved into CMSEngine.disableSubsystem().
5348b8
5348b8
https://pagure.io/dogtagpki/issue/3070
5348b8
(cherry picked from commit d5b119cdf3693680d5d1518b4b21b436d442708b)
5348b8
---
5348b8
 base/common/src/com/netscape/certsrv/apps/CMS.java |  4 ++++
5348b8
 .../src/com/netscape/cmscore/apps/CMSEngine.java   | 24 +++++++++++++++++++++
5348b8
 .../cmscore/selftests/SelfTestSubsystem.java       | 25 +++++-----------------
5348b8
 3 files changed, 33 insertions(+), 20 deletions(-)
5348b8
5348b8
diff --git a/base/common/src/com/netscape/certsrv/apps/CMS.java b/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
index 0bf186e..b6b74e6 100644
5348b8
--- a/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
+++ b/base/common/src/com/netscape/certsrv/apps/CMS.java
5348b8
@@ -145,6 +145,10 @@ public final class CMS {
5348b8
         _engine = engine;
5348b8
     }
5348b8
 
5348b8
+    public static ICMSEngine getCMSEngine() {
5348b8
+        return _engine;
5348b8
+    }
5348b8
+
5348b8
     /**
5348b8
      * This method is used for unit tests. It allows the underlying _engine
5348b8
      * to be stubbed out.
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/apps/CMSEngine.java b/base/server/cmscore/src/com/netscape/cmscore/apps/CMSEngine.java
5348b8
index eaf57fa..2c953cc 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/apps/CMSEngine.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/apps/CMSEngine.java
5348b8
@@ -2042,6 +2042,30 @@ public class CMSEngine implements ICMSEngine {
5348b8
 
5348b8
     }
5348b8
 
5348b8
+    public void disableSubsystem() {
5348b8
+
5348b8
+        String name = mConfig.get("cs.type");
5348b8
+        String subsystemID = name.toLowerCase();
5348b8
+
5348b8
+        CMS.debug("CMSEngine: Disabling " + name + " subsystem");
5348b8
+
5348b8
+        try {
5348b8
+            ProcessBuilder pb = new ProcessBuilder("pki-server", "subsystem-disable", "-i", instanceId, subsystemID);
5348b8
+            CMS.debug("Command: " + String.join(" ", pb.command()));
5348b8
+
5348b8
+            Process process = pb.inheritIO().start();
5348b8
+            int rc = process.waitFor();
5348b8
+
5348b8
+            if (rc != 0) {
5348b8
+                CMS.debug("CMSEngine: Unable to disable " + name + " subsystem. RC: " + rc);
5348b8
+            }
5348b8
+
5348b8
+        } catch (Exception e) {
5348b8
+            CMS.debug("CMSEngine: Unable to disable " + name + " subsystem: " + e.getMessage());
5348b8
+            CMS.debug(e);
5348b8
+        }
5348b8
+    }
5348b8
+
5348b8
     /**
5348b8
      * shuts down a subsystem list in reverse order.
5348b8
      */
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
index 98b53c7..9ed4f8a 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
@@ -50,6 +50,7 @@ import com.netscape.certsrv.selftests.ISelfTest;
5348b8
 import com.netscape.certsrv.selftests.ISelfTestSubsystem;
5348b8
 import com.netscape.cms.logging.Logger;
5348b8
 import com.netscape.cms.logging.SignedAuditLogger;
5348b8
+import com.netscape.cmscore.apps.CMSEngine;
5348b8
 
5348b8
 //////////////////////
5348b8
 // class definition //
5348b8
@@ -1832,29 +1833,13 @@ public class SelfTestSubsystem
5348b8
 
5348b8
             audit(auditMessage);
5348b8
 
5348b8
-            CMS.debug("SelfTestSubsystem.startup(): shutdown server");
5348b8
+            CMS.debug("SelfTestSubsystem: Shutting down server due to selftest failure: " + e.getMessage());
5348b8
+            CMS.debug(e);
5348b8
 
5348b8
-            // shutdown the system gracefully
5348b8
             CMS.shutdown();
5348b8
 
5348b8
-            IConfigStore cs = CMS.getConfigStore();
5348b8
-            String instanceID = cs.get("instanceId");
5348b8
-            String subsystemID = cs.get("cs.type").toLowerCase();
5348b8
-
5348b8
-            System.out.println("SelfTestSubsystem: Disabling \"" + subsystemID + "\" subsystem due to selftest failure.");
5348b8
-
5348b8
-            try {
5348b8
-                ProcessBuilder pb = new ProcessBuilder("pki-server", "subsystem-disable", "-i", instanceID, subsystemID);
5348b8
-                Process process = pb.inheritIO().start();
5348b8
-                int rc = process.waitFor();
5348b8
-
5348b8
-                if (rc != 0) {
5348b8
-                    System.out.println("SelfTestSubsystem: Unable to disable \"" + subsystemID + "\". RC: " + rc);
5348b8
-                }
5348b8
-
5348b8
-            } catch (Exception e2) {
5348b8
-                e.printStackTrace();
5348b8
-            }
5348b8
+            CMSEngine engine = (CMSEngine) CMS.getCMSEngine();
5348b8
+            engine.disableSubsystem();
5348b8
         }
5348b8
     }
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 83e911b75bb887bc4f3bf36fc9709401e54b7443 Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Wed, 17 Oct 2018 18:22:24 +0200
5348b8
Subject: [PATCH 17/19] Fixed subsystem shutdown on selftest failures
5348b8
5348b8
The code that handles selftest failures have been modified
5348b8
to call CMSEngine.disableSubsystem() to undeploy the web
5348b8
application. Once undeployed, the web application will no
5348b8
longer accept client requests, then Tomcat will execute
5348b8
CMSStartServlet.destroy() which will eventually shutdown
5348b8
the subsystem.
5348b8
5348b8
https://pagure.io/dogtagpki/issue/3070
5348b8
(cherry picked from commit 7c3711c786ba90fe29b7450530dd8372d5839fcd)
5348b8
---
5348b8
 .../cms/src/com/netscape/cms/servlet/admin/CMSAdminServlet.java  | 7 ++++---
5348b8
 .../src/com/netscape/cmscore/selftests/SelfTestSubsystem.java    | 9 ++++-----
5348b8
 2 files changed, 8 insertions(+), 8 deletions(-)
5348b8
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/CMSAdminServlet.java b/base/server/cms/src/com/netscape/cms/servlet/admin/CMSAdminServlet.java
5348b8
index 59a5d62..633b13d 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/CMSAdminServlet.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/CMSAdminServlet.java
5348b8
@@ -73,6 +73,7 @@ import com.netscape.certsrv.selftests.ESelfTestException;
5348b8
 import com.netscape.certsrv.selftests.ISelfTest;
5348b8
 import com.netscape.certsrv.selftests.ISelfTestSubsystem;
5348b8
 import com.netscape.certsrv.tks.ITKSAuthority;
5348b8
+import com.netscape.cmscore.apps.CMSEngine;
5348b8
 import com.netscape.cmsutil.crypto.CryptoUtil;
5348b8
 import com.netscape.cmsutil.util.Cert;
5348b8
 import com.netscape.cmsutil.util.Utils;
5348b8
@@ -3194,10 +3195,10 @@ public final class CMSAdminServlet extends AdminServlet {
5348b8
                                     + "\n";
5348b8
                             sendResponse(ERROR, content, null, resp);
5348b8
 
5348b8
-                            CMS.debug("CMSAdminServlet.runSelfTestsOnDemand(): shutdown server");
5348b8
+                            CMS.debug("CMSAdminServlet: Disabling subsystem due to selftest failure: " + e.getMessage());
5348b8
 
5348b8
-                            // shutdown the system gracefully
5348b8
-                            CMS.shutdown();
5348b8
+                            CMSEngine engine = (CMSEngine) CMS.getCMSEngine();
5348b8
+                            engine.disableSubsystem();
5348b8
 
5348b8
                             return;
5348b8
                         } else {
5348b8
diff --git a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
index 9ed4f8a..8ce9a58 100644
5348b8
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
+++ b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
5348b8
@@ -537,10 +537,11 @@ public class SelfTestSubsystem
5348b8
                                     "CMSCORE_SELFTESTS_RUN_ON_DEMAND_FAILED",
5348b8
                                     instanceFullName));
5348b8
 
5348b8
-                    CMS.debug("SelfTestSubsystem.runSelfTestsOnDemand(): shutdown server");
5348b8
+                    CMS.debug("SelfTestSubsystem: Disabling subsystem due to selftest failure: " + e.getMessage());
5348b8
+                    CMS.debug(e);
5348b8
 
5348b8
-                    // shutdown the system gracefully
5348b8
-                    CMS.shutdown();
5348b8
+                    CMSEngine engine = (CMSEngine) CMS.getCMSEngine();
5348b8
+                    engine.disableSubsystem();
5348b8
 
5348b8
                     return;
5348b8
                 }
5348b8
@@ -1836,8 +1837,6 @@ public class SelfTestSubsystem
5348b8
             CMS.debug("SelfTestSubsystem: Shutting down server due to selftest failure: " + e.getMessage());
5348b8
             CMS.debug(e);
5348b8
 
5348b8
-            CMS.shutdown();
5348b8
-
5348b8
             CMSEngine engine = (CMSEngine) CMS.getCMSEngine();
5348b8
             engine.disableSubsystem();
5348b8
         }
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From 81710f32fb9c269f2795b3272b3765a542299eb6 Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Wed, 17 Oct 2018 18:23:09 +0200
5348b8
Subject: [PATCH 18/19] Fixed signed audit logging failure handling
5348b8
5348b8
The code that handles signed audit logging failures has been
5348b8
modified to call CMSEngine.disableSubsystem() to undeploy the
5348b8
web application. Once undeployed, the web application will no
5348b8
longer accept client requests, then Tomcat will execute
5348b8
CMSStartServlet.destroy() which will eventually shutdown the
5348b8
subsystem.
5348b8
5348b8
https://pagure.io/dogtagpki/issue/3070
5348b8
(cherry picked from commit 5e7d7b972f14d65781909f6dfee4ad1e7ecb801a)
5348b8
---
5348b8
 .../cms/src/com/netscape/cms/logging/LogFile.java       | 17 ++++-------------
5348b8
 1 file changed, 4 insertions(+), 13 deletions(-)
5348b8
5348b8
diff --git a/base/server/cms/src/com/netscape/cms/logging/LogFile.java b/base/server/cms/src/com/netscape/cms/logging/LogFile.java
5348b8
index b04f70d..a4a691b 100644
5348b8
--- a/base/server/cms/src/com/netscape/cms/logging/LogFile.java
5348b8
+++ b/base/server/cms/src/com/netscape/cms/logging/LogFile.java
5348b8
@@ -79,6 +79,7 @@ import com.netscape.certsrv.logging.ILogger;
5348b8
 import com.netscape.certsrv.logging.LogSource;
5348b8
 import com.netscape.certsrv.logging.SignedAuditEvent;
5348b8
 import com.netscape.certsrv.logging.SystemEvent;
5348b8
+import com.netscape.cmscore.apps.CMSEngine;
5348b8
 import com.netscape.cmsutil.util.Utils;
5348b8
 
5348b8
 import netscape.ldap.client.JDAPAVA;
5348b8
@@ -422,20 +423,10 @@ public class LogFile implements ILogEventListener, IExtendedPluginInfo {
5348b8
             // synchronized. We just want to avoid an infinite loop.
5348b8
             mInSignedAuditLogFailureMode = true;
5348b8
 
5348b8
-            // Block all new incoming requests
5348b8
-            if (CMS.areRequestsDisabled() == false) {
5348b8
-                // XXX is this a race condition?
5348b8
-                CMS.disableRequests();
5348b8
-            }
5348b8
-
5348b8
-            // Terminate all requests in process
5348b8
-            CMS.terminateRequests();
5348b8
-
5348b8
-            // Call graceful shutdown of the CMS server
5348b8
-            // Call force shutdown to get added functionality of
5348b8
-            // making sure to kill the web server.
5348b8
+            CMS.debug("LogFile: Disabling subsystem due to signed logging failure");
5348b8
 
5348b8
-            CMS.forceShutdown();
5348b8
+            CMSEngine engine = (CMSEngine) CMS.getCMSEngine();
5348b8
+            engine.disableSubsystem();
5348b8
         }
5348b8
     }
5348b8
 
5348b8
-- 
5348b8
1.8.3.1
5348b8
5348b8
5348b8
From bd2b3117334ce0e638bf309a591a0eeb6390253f Mon Sep 17 00:00:00 2001
5348b8
From: "Endi S. Dewata" <edewata@redhat.com>
5348b8
Date: Sat, 20 Oct 2018 04:03:49 +0200
5348b8
Subject: [PATCH 19/19] Added doc on signed audit logging failures
5348b8
5348b8
https://pagure.io/dogtagpki/issue/3070
5348b8
(cherry picked from commit 54c1b9b04625de6f3493e5d28979a740b31e63b3)
5348b8
---
5348b8
 docs/admin/Signed_Audit_Logging_Failures.md | 88 +++++++++++++++++++++++++++++
5348b8
 1 file changed, 88 insertions(+)
5348b8
 create mode 100644 docs/admin/Signed_Audit_Logging_Failures.md
5348b8
5348b8
diff --git a/docs/admin/Signed_Audit_Logging_Failures.md b/docs/admin/Signed_Audit_Logging_Failures.md
5348b8
new file mode 100644
5348b8
index 0000000..17cc3bd
5348b8
--- /dev/null
5348b8
+++ b/docs/admin/Signed_Audit_Logging_Failures.md
5348b8
@@ -0,0 +1,88 @@
5348b8
+Signed Audit Logging Failures
5348b8
+=============================
5348b8
+
5348b8
+## Overview
5348b8
+
5348b8
+If a PKI subsystem is unable to write signed audit log to disk,
5348b8
+the subsystem will automatically shutdown to prevent it from
5348b8
+receiving and executing additional operations that cannot be
5348b8
+logged.
5348b8
+
5348b8
+This situation may happen when the disk is full. In that case
5348b8
+the admin will need to provide additional disk space, then restart
5348b8
+the subsystem.
5348b8
+
5348b8
+Note: auto-shutdown will only work if audit signing is enabled.
5348b8
+
5348b8
+## Verifying Auto-Shutdown
5348b8
+
5348b8
+To verify auto-shutdown on a CA instance, prepare a small
5348b8
+partition and assign the proper permissions:
5348b8
+
5348b8
+```
5348b8
+$ mkdir -p /tmp/audit
5348b8
+$ mount -t tmpfs -o size=2M,mode=0755 tmpfs /tmp/audit
5348b8
+$ chown pkiuser:pkiuser /tmp/audit
5348b8
+$ semanage fcontext -a -t pki_tomcat_log_t /tmp/audit
5348b8
+$ restorecon -vR /tmp/audit
5348b8
+```
5348b8
+
5348b8
+Edit /etc/pki/pki-tomcat/ca/CS.cfg to enable audit signing
5348b8
+and configure it to store the logs in the above partition:
5348b8
+
5348b8
+```
5348b8
+log.instance.SignedAudit.logSigning=true
5348b8
+log.instance.SignedAudit.fileName=/tmp/audit/ca_audit
5348b8
+```
5348b8
+
5348b8
+Restart the server:
5348b8
+
5348b8
+```
5348b8
+$ systemctl restart pki-tomcatd@pki-tomcat.service
5348b8
+```
5348b8
+
5348b8
+Create a big file to fill up the partition:
5348b8
+
5348b8
+```
5348b8
+$ dd if=/dev/zero of=/tmp/audit/bigfile bs=1M count=2
5348b8
+```
5348b8
+
5348b8
+Execute some operations to generate audit logs, for example:
5348b8
+
5348b8
+```
5348b8
+$ pki ca-cert-find
5348b8
+```
5348b8
+
5348b8
+When the partition becomes full, the server will no longer able
5348b8
+to write the signed audit log into the partition, so it will
5348b8
+generate the following message in console or systemd journal
5348b8
+(assuming the journal is stored in a different partition that
5348b8
+is not full):
5348b8
+
5348b8
+```
5348b8
+Failed to flush log "/tmp/audit/ca_audit", error: No space left on device
5348b8
+```
5348b8
+
5348b8
+Then the CA subsystem will shutdown automatically. The server itself
5348b8
+will still be running and accepting connections, but all requests
5348b8
+going to the CA subsystem will fail.
5348b8
+
5348b8
+To resolve the issue, create more space in the partition by
5348b8
+removing the big file:
5348b8
+
5348b8
+```
5348b8
+$ rm -f /tmp/audit/bigfile
5348b8
+```
5348b8
+
5348b8
+Then re-enable the CA subsystem with the following command:
5348b8
+
5348b8
+```
5348b8
+$ pki-server subsystem-enable -i pki-tomcat ca
5348b8
+```
5348b8
+
5348b8
+or by restarting the server:
5348b8
+
5348b8
+```
5348b8
+$ systemctl restart pki-tomcatd@pki-tomcat.service
5348b8
+```
5348b8
+
5348b8
-- 
5348b8
1.8.3.1
5348b8