b1e4e4
From d98aed0cbb25deaa954289e7f870c10edde688dd Mon Sep 17 00:00:00 2001
b1e4e4
From: Christina Fu <cfu@redhat.com>
b1e4e4
Date: Mon, 18 May 2020 19:14:41 -0400
b1e4e4
Subject: [PATCH 1/2] Bug 1794213 Add Directory-based-auth profile for
b1e4e4
 SeverSide Keygen
b1e4e4
b1e4e4
This patch adds caServerKeygen_DirUserCert.cfg, which is a profile using
b1e4e4
directory-based authentication for severSide Keygen enrollment.
b1e4e4
One is required to set up UserDirEnrollment in CS.cfg.
b1e4e4
b1e4e4
It also contains some misc cleanup such as removal of unneeded imports
b1e4e4
and debugs, as well as perfecting a couple error handling stemmed from
b1e4e4
upstream review.
b1e4e4
b1e4e4
https://bugzilla.redhat.com/show_bug.cgi?id=1794213
b1e4e4
(cherry picked from commit 9e2bb93bb435e658a15ab8572a61d6481bb4fed8)
b1e4e4
---
b1e4e4
 base/ca/shared/conf/CS.cfg                         |   4 +-
b1e4e4
 .../profiles/ca/caServerKeygen_DirUserCert.cfg     | 104 +++++++++++++++++++++
b1e4e4
 base/kra/src/com/netscape/kra/RecoveryService.java |   2 +-
b1e4e4
 .../cms/profile/common/CAEnrollProfile.java        |   2 +
b1e4e4
 .../profile/def/ServerKeygenUserKeyDefault.java    |  12 ++-
b1e4e4
 .../cms/servlet/connector/ConnectorServlet.java    |   1 -
b1e4e4
 .../netscape/cmscore/request/ARequestQueue.java    |   5 +-
b1e4e4
 7 files changed, 119 insertions(+), 11 deletions(-)
b1e4e4
 create mode 100644 base/ca/shared/profiles/ca/caServerKeygen_DirUserCert.cfg
b1e4e4
b1e4e4
diff --git a/base/ca/shared/conf/CS.cfg b/base/ca/shared/conf/CS.cfg
b1e4e4
index 004efdc..2c50831 100644
b1e4e4
--- a/base/ca/shared/conf/CS.cfg
b1e4e4
+++ b/base/ca/shared/conf/CS.cfg
b1e4e4
@@ -976,7 +976,7 @@ oidmap.pse.oid=2.16.840.1.113730.1.18
b1e4e4
 oidmap.subject_info_access.class=netscape.security.extensions.SubjectInfoAccessExtension
b1e4e4
 oidmap.subject_info_access.oid=1.3.6.1.5.5.7.1.11
b1e4e4
 os.userid=nobody
b1e4e4
-profile.list=caCMCserverCert,caCMCECserverCert,caCMCECsubsystemCert,caCMCsubsystemCert,caCMCauditSigningCert,caCMCcaCert,caCMCocspCert,caCMCkraTransportCert,caCMCkraStorageCert,caServerKeygen_UserCert,caUserCert,caECUserCert,caUserSMIMEcapCert,caDualCert,caDirBasedDualCert,AdminCert,ECAdminCert,caSignedLogCert,caTPSCert,caRARouterCert,caRouterCert,caServerCert,caECServerCert,caSubsystemCert,caECSubsystemCert,caOtherCert,caCACert,caCMCcaCert,caCrossSignedCACert,caInstallCACert,caRACert,caOCSPCert,caStorageCert,caTransportCert,caDirPinUserCert,caECDirPinUserCert,caDirUserCert,caECDirUserCert,caAgentServerCert,caECAgentServerCert,caAgentFileSigning,caCMCUserCert,caCMCECUserCert,caFullCMCUserCert,caECFullCMCUserCert,caFullCMCUserSignedCert,caECFullCMCUserSignedCert,caFullCMCSharedTokenCert,caECFullCMCSharedTokenCert,caSimpleCMCUserCert,caECSimpleCMCUserCert,caTokenDeviceKeyEnrollment,caTokenUserEncryptionKeyEnrollment,caTokenUserSigningKeyEnrollment,caTempTokenDeviceKeyEnrollment,caTempTokenUserEncryptionKeyEnrollment,caTempTokenUserSigningKeyEnrollment,caAdminCert,caECAdminCert,caInternalAuthServerCert,caECInternalAuthServerCert,caInternalAuthTransportCert,caInternalAuthDRMstorageCert,caInternalAuthSubsystemCert,caECInternalAuthSubsystemCert,caInternalAuthOCSPCert,caInternalAuthAuditSigningCert,DomainController,caDualRAuserCert,caRAagentCert,caRAserverCert,caUUIDdeviceCert,caSSLClientSelfRenewal,caDirUserRenewal,caManualRenewal,caTokenMSLoginEnrollment,caTokenUserSigningKeyRenewal,caTokenUserEncryptionKeyRenewal,caTokenUserAuthKeyRenewal,caJarSigningCert,caIPAserviceCert,caEncUserCert,caSigningUserCert,caTokenUserDelegateAuthKeyEnrollment,caTokenUserDelegateSigningKeyEnrollment
b1e4e4
+profile.list=caCMCserverCert,caCMCECserverCert,caCMCECsubsystemCert,caCMCsubsystemCert,caCMCauditSigningCert,caCMCcaCert,caCMCocspCert,caCMCkraTransportCert,caCMCkraStorageCert,caServerKeygen_UserCert,caServerKeygen_DirUserCert,caUserCert,caECUserCert,caUserSMIMEcapCert,caDualCert,caDirBasedDualCert,AdminCert,ECAdminCert,caSignedLogCert,caTPSCert,caRARouterCert,caRouterCert,caServerCert,caECServerCert,caSubsystemCert,caECSubsystemCert,caOtherCert,caCACert,caCMCcaCert,caCrossSignedCACert,caInstallCACert,caRACert,caOCSPCert,caStorageCert,caTransportCert,caDirPinUserCert,caECDirPinUserCert,caDirUserCert,caECDirUserCert,caAgentServerCert,caECAgentServerCert,caAgentFileSigning,caCMCUserCert,caCMCECUserCert,caFullCMCUserCert,caECFullCMCUserCert,caFullCMCUserSignedCert,caECFullCMCUserSignedCert,caFullCMCSharedTokenCert,caECFullCMCSharedTokenCert,caSimpleCMCUserCert,caECSimpleCMCUserCert,caTokenDeviceKeyEnrollment,caTokenUserEncryptionKeyEnrollment,caTokenUserSigningKeyEnrollment,caTempTokenDeviceKeyEnrollment,caTempTokenUserEncryptionKeyEnrollment,caTempTokenUserSigningKeyEnrollment,caAdminCert,caECAdminCert,caInternalAuthServerCert,caECInternalAuthServerCert,caInternalAuthTransportCert,caInternalAuthDRMstorageCert,caInternalAuthSubsystemCert,caECInternalAuthSubsystemCert,caInternalAuthOCSPCert,caInternalAuthAuditSigningCert,DomainController,caDualRAuserCert,caRAagentCert,caRAserverCert,caUUIDdeviceCert,caSSLClientSelfRenewal,caDirUserRenewal,caManualRenewal,caTokenMSLoginEnrollment,caTokenUserSigningKeyRenewal,caTokenUserEncryptionKeyRenewal,caTokenUserAuthKeyRenewal,caJarSigningCert,caIPAserviceCert,caEncUserCert,caSigningUserCert,caTokenUserDelegateAuthKeyEnrollment,caTokenUserDelegateSigningKeyEnrollment
b1e4e4
 profile.caUUIDdeviceCert.class_id=caEnrollImpl
b1e4e4
 profile.caUUIDdeviceCert.config=[PKI_INSTANCE_PATH]/[PKI_SUBSYSTEM_TYPE]/profiles/ca/caUUIDdeviceCert.cfg
b1e4e4
 profile.caManualRenewal.class_id=caEnrollImpl
b1e4e4
@@ -1133,6 +1133,8 @@ profile.caTransportCert.class_id=caEnrollImpl
b1e4e4
 profile.caTransportCert.config=[PKI_INSTANCE_PATH]/[PKI_SUBSYSTEM_TYPE]/profiles/ca/caTransportCert.cfg
b1e4e4
 profile.caServerKeygen_UserCert.class_id=caEnrollImpl
b1e4e4
 profile.caServerKeygen_UserCert.config=[PKI_INSTANCE_PATH]/[PKI_SUBSYSTEM_TYPE]/profiles/ca/caServerKeygen_UserCert.cfg
b1e4e4
+profile.caServerKeygen_DirUserCert.class_id=caEnrollImpl
b1e4e4
+profile.caServerKeygen_DirUserCert.config=[PKI_INSTANCE_PATH]/[PKI_SUBSYSTEM_TYPE]/profiles/ca/caServerKeygen_DirUserCert.cfg
b1e4e4
 profile.caUserCert.class_id=caEnrollImpl
b1e4e4
 profile.caUserCert.config=[PKI_INSTANCE_PATH]/[PKI_SUBSYSTEM_TYPE]/profiles/ca/caUserCert.cfg
b1e4e4
 profile.caECUserCert.class_id=caEnrollImpl
b1e4e4
diff --git a/base/ca/shared/profiles/ca/caServerKeygen_DirUserCert.cfg b/base/ca/shared/profiles/ca/caServerKeygen_DirUserCert.cfg
b1e4e4
new file mode 100644
b1e4e4
index 0000000..ea1acfb
b1e4e4
--- /dev/null
b1e4e4
+++ b/base/ca/shared/profiles/ca/caServerKeygen_DirUserCert.cfg
b1e4e4
@@ -0,0 +1,104 @@
b1e4e4
+desc=This certificate profile is for enrolling user certificates using server-side Key generation with Directory-based authentication.
b1e4e4
+visible=true
b1e4e4
+enable=true
b1e4e4
+enableBy=admin
b1e4e4
+name=Directory-authenticated User Dual-Use Certificate Enrollment using server-side Key generation
b1e4e4
+auth.instance_id=UserDirEnrollment
b1e4e4
+input.list=i1,i2,i3
b1e4e4
+input.i1.class_id=serverKeygenInputImpl
b1e4e4
+input.i2.class_id=subjectNameInputImpl
b1e4e4
+input.i3.class_id=submitterInfoInputImpl
b1e4e4
+output.list=o1
b1e4e4
+output.o1.class_id=pkcs12OutputImpl
b1e4e4
+policyset.list=userCertSet
b1e4e4
+policyset.userCertSet.list=1,10,2,3,4,5,6,7,8,9
b1e4e4
+policyset.userCertSet.1.constraint.class_id=subjectNameConstraintImpl
b1e4e4
+policyset.userCertSet.1.constraint.name=Subject Name Constraint
b1e4e4
+policyset.userCertSet.1.constraint.params.pattern=UID=.*
b1e4e4
+policyset.userCertSet.1.constraint.params.accept=true
b1e4e4
+policyset.userCertSet.1.default.class_id=userSubjectNameDefaultImpl
b1e4e4
+policyset.userCertSet.1.default.name=Subject Name Default
b1e4e4
+policyset.userCertSet.1.default.params.name=
b1e4e4
+policyset.userCertSet.10.constraint.class_id=renewGracePeriodConstraintImpl
b1e4e4
+policyset.userCertSet.10.constraint.name=Renewal Grace Period Constraint
b1e4e4
+policyset.userCertSet.10.constraint.params.renewal.graceBefore=30
b1e4e4
+policyset.userCertSet.10.constraint.params.renewal.graceAfter=30
b1e4e4
+policyset.userCertSet.10.default.class_id=noDefaultImpl
b1e4e4
+policyset.userCertSet.10.default.name=No Default
b1e4e4
+policyset.userCertSet.2.constraint.class_id=validityConstraintImpl
b1e4e4
+policyset.userCertSet.2.constraint.name=Validity Constraint
b1e4e4
+policyset.userCertSet.2.constraint.params.range=365
b1e4e4
+policyset.userCertSet.2.constraint.params.notBeforeCheck=false
b1e4e4
+policyset.userCertSet.2.constraint.params.notAfterCheck=false
b1e4e4
+policyset.userCertSet.2.default.class_id=validityDefaultImpl
b1e4e4
+policyset.userCertSet.2.default.name=Validity Default
b1e4e4
+policyset.userCertSet.2.default.params.range=180
b1e4e4
+policyset.userCertSet.2.default.params.startTime=0
b1e4e4
+policyset.userCertSet.3.constraint.class_id=keyConstraintImpl
b1e4e4
+policyset.userCertSet.3.constraint.name=Key Constraint
b1e4e4
+policyset.userCertSet.3.constraint.params.keyType=-
b1e4e4
+policyset.userCertSet.3.constraint.params.keyParameters=1024,2048,3072,4096,nistp256,nistp384,nistp521
b1e4e4
+policyset.userCertSet.3.default.class_id=serverKeygenUserKeyDefaultImpl
b1e4e4
+policyset.userCertSet.3.default.name=Server-Side Keygen Default
b1e4e4
+policyset.userCertSet.3.default.params.keyType=RSA
b1e4e4
+policyset.userCertSet.3.default.params.keySize=2048
b1e4e4
+policyset.userCertSet.3.default.params.enableArchival=true
b1e4e4
+policyset.userCertSet.4.constraint.class_id=noConstraintImpl
b1e4e4
+policyset.userCertSet.4.constraint.name=No Constraint
b1e4e4
+policyset.userCertSet.4.default.class_id=authorityKeyIdentifierExtDefaultImpl
b1e4e4
+policyset.userCertSet.4.default.name=Authority Key Identifier Default
b1e4e4
+policyset.userCertSet.5.constraint.class_id=noConstraintImpl
b1e4e4
+policyset.userCertSet.5.constraint.name=No Constraint
b1e4e4
+policyset.userCertSet.5.default.class_id=authInfoAccessExtDefaultImpl
b1e4e4
+policyset.userCertSet.5.default.name=AIA Extension Default
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessADEnable_0=true
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessADLocationType_0=URIName
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessADLocation_0=
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessADMethod_0=1.3.6.1.5.5.7.48.1
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessCritical=false
b1e4e4
+policyset.userCertSet.5.default.params.authInfoAccessNumADs=1
b1e4e4
+policyset.userCertSet.6.constraint.class_id=keyUsageExtConstraintImpl
b1e4e4
+policyset.userCertSet.6.constraint.name=Key Usage Extension Constraint
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageCritical=true
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageDigitalSignature=true
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageNonRepudiation=true
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageDataEncipherment=false
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageKeyEncipherment=true
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageKeyAgreement=false
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageKeyCertSign=false
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageCrlSign=false
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageEncipherOnly=false
b1e4e4
+policyset.userCertSet.6.constraint.params.keyUsageDecipherOnly=false
b1e4e4
+policyset.userCertSet.6.default.class_id=keyUsageExtDefaultImpl
b1e4e4
+policyset.userCertSet.6.default.name=Key Usage Default
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageCritical=true
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageDigitalSignature=true
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageNonRepudiation=true
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageDataEncipherment=false
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageKeyEncipherment=true
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageKeyAgreement=false
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageKeyCertSign=false
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageCrlSign=false
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageEncipherOnly=false
b1e4e4
+policyset.userCertSet.6.default.params.keyUsageDecipherOnly=false
b1e4e4
+policyset.userCertSet.7.constraint.class_id=noConstraintImpl
b1e4e4
+policyset.userCertSet.7.constraint.name=No Constraint
b1e4e4
+policyset.userCertSet.7.default.class_id=extendedKeyUsageExtDefaultImpl
b1e4e4
+policyset.userCertSet.7.default.name=Extended Key Usage Extension Default
b1e4e4
+policyset.userCertSet.7.default.params.exKeyUsageCritical=false
b1e4e4
+policyset.userCertSet.7.default.params.exKeyUsageOIDs=1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.4
b1e4e4
+policyset.userCertSet.8.constraint.class_id=noConstraintImpl
b1e4e4
+policyset.userCertSet.8.constraint.name=No Constraint
b1e4e4
+policyset.userCertSet.8.default.class_id=subjectAltNameExtDefaultImpl
b1e4e4
+policyset.userCertSet.8.default.name=Subject Alt Name Constraint
b1e4e4
+policyset.userCertSet.8.default.params.subjAltNameExtCritical=false
b1e4e4
+policyset.userCertSet.8.default.params.subjAltExtType_0=RFC822Name
b1e4e4
+policyset.userCertSet.8.default.params.subjAltExtPattern_0=$request.requestor_email$
b1e4e4
+policyset.userCertSet.8.default.params.subjAltExtGNEnable_0=true
b1e4e4
+policyset.userCertSet.8.default.params.subjAltNameNumGNs=1
b1e4e4
+policyset.userCertSet.9.constraint.class_id=signingAlgConstraintImpl
b1e4e4
+policyset.userCertSet.9.constraint.name=No Constraint
b1e4e4
+policyset.userCertSet.9.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA512withRSA,SHA1withEC,SHA256withEC,SHA384withRSA,SHA384withEC,SHA512withEC,SHA256withRSA/PSS,SHA384withRSA/PSS,SHA512withRSA/PSS
b1e4e4
+policyset.userCertSet.9.default.class_id=signingAlgDefaultImpl
b1e4e4
+policyset.userCertSet.9.default.name=Signing Alg
b1e4e4
+policyset.userCertSet.9.default.params.signingAlg=-
b1e4e4
diff --git a/base/kra/src/com/netscape/kra/RecoveryService.java b/base/kra/src/com/netscape/kra/RecoveryService.java
b1e4e4
index c5229ea..529cb57 100644
b1e4e4
--- a/base/kra/src/com/netscape/kra/RecoveryService.java
b1e4e4
+++ b/base/kra/src/com/netscape/kra/RecoveryService.java
b1e4e4
@@ -637,7 +637,7 @@ public class RecoveryService implements IService {
b1e4e4
                     pass,
b1e4e4
                     /* NSS has a bug that causes any AES CBC encryption
b1e4e4
                      * to use AES-256, but AlgorithmID contains chosen
b1e4e4
-                     * alg.  To avoid mismatch, use AES_128_CBC. */
b1e4e4
+                     * alg.  To avoid mismatch, use AES_256_CBC. */
b1e4e4
                     EncryptionAlgorithm.AES_256_CBC,
b1e4e4
                     0 /* iterations (use default) */,
b1e4e4
                     priKey);
b1e4e4
diff --git a/base/server/cms/src/com/netscape/cms/profile/common/CAEnrollProfile.java b/base/server/cms/src/com/netscape/cms/profile/common/CAEnrollProfile.java
b1e4e4
index f8b547d..b0dd773 100644
b1e4e4
--- a/base/server/cms/src/com/netscape/cms/profile/common/CAEnrollProfile.java
b1e4e4
+++ b/base/server/cms/src/com/netscape/cms/profile/common/CAEnrollProfile.java
b1e4e4
@@ -156,6 +156,8 @@ public class CAEnrollProfile extends EnrollProfile {
b1e4e4
                 if (kraConnector == null) {
b1e4e4
                     String message = "KRA connector not configured";
b1e4e4
                     CMS.debug(method + message);
b1e4e4
+
b1e4e4
+                    throw new EProfileException(message);
b1e4e4
                 } else {
b1e4e4
                     CMS.debug(method + "request");
b1e4e4
                     kraConnector.send(request);
b1e4e4
diff --git a/base/server/cms/src/com/netscape/cms/profile/def/ServerKeygenUserKeyDefault.java b/base/server/cms/src/com/netscape/cms/profile/def/ServerKeygenUserKeyDefault.java
b1e4e4
index b1eb58e..3c4e3d0 100644
b1e4e4
--- a/base/server/cms/src/com/netscape/cms/profile/def/ServerKeygenUserKeyDefault.java
b1e4e4
+++ b/base/server/cms/src/com/netscape/cms/profile/def/ServerKeygenUserKeyDefault.java
b1e4e4
@@ -20,7 +20,6 @@ package com.netscape.cms.profile.def;
b1e4e4
 import java.io.ByteArrayInputStream;
b1e4e4
 import java.math.BigInteger;
b1e4e4
 import java.security.interfaces.DSAParams;
b1e4e4
-import java.util.Enumeration;
b1e4e4
 import java.util.Locale;
b1e4e4
 import java.util.Vector;
b1e4e4
 import java.security.KeyPair;
b1e4e4
@@ -271,6 +270,7 @@ public class ServerKeygenUserKeyDefault extends EnrollDefault {
b1e4e4
         CertificateX509Key certKey = null;
b1e4e4
         String method = "ServerKeygenUserKeyDefault: populate: ";
b1e4e4
         CMS.debug(method + "begins");
b1e4e4
+        String errmsg = "";
b1e4e4
 
b1e4e4
         // trigger serverSide keygen enrollment
b1e4e4
         try {
b1e4e4
@@ -439,8 +439,9 @@ public class ServerKeygenUserKeyDefault extends EnrollDefault {
b1e4e4
                     pubKeyStr = TEMP_PUBKEY_RSA_4096;
b1e4e4
                     break;
b1e4e4
                 default:
b1e4e4
-                    CMS.debug("ServerKeygenUserKeyDefault: populate: unsupported keySize: " + keySize);
b1e4e4
-                    break;
b1e4e4
+                    errmsg = "unsupported keySize: " + keySize;
b1e4e4
+                    CMS.debug("ServerKeygenUserKeyDefault: populate: " + errmsg);
b1e4e4
+                    throw new EProfileException(errmsg);
b1e4e4
               }
b1e4e4
             } else {
b1e4e4
               switch (curveName) {
b1e4e4
@@ -454,8 +455,9 @@ public class ServerKeygenUserKeyDefault extends EnrollDefault {
b1e4e4
                     pubKeyStr = TEMP_PUBKEY_EC_NISTP521;
b1e4e4
                     break;
b1e4e4
                 default:
b1e4e4
-                    CMS.debug("ServerKeygenUserKeyDefault: populate: unsupported cureveName: " + curveName);
b1e4e4
-                    break;
b1e4e4
+                    errmsg = "unsupported curveName: " + curveName;
b1e4e4
+                    CMS.debug("ServerKeygenUserKeyDefault: populate: " + errmsg);
b1e4e4
+                    throw new EProfileException(errmsg);
b1e4e4
               }
b1e4e4
             }
b1e4e4
             byte[] certKeyData = CryptoUtil.base64Decode(pubKeyStr);
b1e4e4
diff --git a/base/server/cms/src/com/netscape/cms/servlet/connector/ConnectorServlet.java b/base/server/cms/src/com/netscape/cms/servlet/connector/ConnectorServlet.java
b1e4e4
index fb9ed65..0e72559 100644
b1e4e4
--- a/base/server/cms/src/com/netscape/cms/servlet/connector/ConnectorServlet.java
b1e4e4
+++ b/base/server/cms/src/com/netscape/cms/servlet/connector/ConnectorServlet.java
b1e4e4
@@ -28,7 +28,6 @@ import java.security.cert.Certificate;
b1e4e4
 import java.security.cert.CertificateException;
b1e4e4
 import java.security.cert.X509Certificate;
b1e4e4
 import java.util.Enumeration;
b1e4e4
-import java.util.Hashtable;
b1e4e4
 
b1e4e4
 import javax.servlet.ServletConfig;
b1e4e4
 import javax.servlet.ServletException;
b1e4e4
diff --git a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java
b1e4e4
index 24c2f77..3941fa0 100644
b1e4e4
--- a/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java
b1e4e4
+++ b/base/server/cmscore/src/com/netscape/cmscore/request/ARequestQueue.java
b1e4e4
@@ -568,12 +568,11 @@ public abstract class ARequestQueue
b1e4e4
 
b1e4e4
         // by default, write request to LDAP
b1e4e4
         if (delayLDAPCommit == null || !delayLDAPCommit.equals("true")) {
b1e4e4
-            CMS.debug("ARequestQueue: updateRequest(): delayLDAPCommit is false");
b1e4e4
+            // CMS.debug("ARequestQueue: updateRequest(): delayLDAPCommit is false");
b1e4e4
             // TODO: use a state flag to determine whether to call
b1e4e4
             // addRequest or modifyRequest (see newRequest as well)
b1e4e4
             modifyRequest(r);
b1e4e4
-        }  else //: delay the write to ldap
b1e4e4
-            CMS.debug("ARequestQueue: updateRequest(): delayLDAPCommit is true");
b1e4e4
+        }
b1e4e4
     }
b1e4e4
 
b1e4e4
     // PRIVATE functions
b1e4e4
-- 
b1e4e4
1.8.3.1
b1e4e4
b1e4e4
b1e4e4
From b12e75b4314c9d017763130683b99008d7fc22ca Mon Sep 17 00:00:00 2001
b1e4e4
From: jmagne <jmagne@redhat.com>
b1e4e4
Date: Mon, 18 May 2020 20:35:31 -0400
b1e4e4
Subject: [PATCH 2/2] Additional fix Bug# 1710109 - add RSA PSS support. (#414)
b1e4e4
b1e4e4
Remove minor log message which was causing problems.
b1e4e4
Fix a typo in the pkispawn code that detects PSS signing algorithms.
b1e4e4
b1e4e4
Co-authored-by: Jack Magne <jmagne@test.host.com>
b1e4e4
(cherry picked from commit f30d2a26d6484cd85415b338fd721efc6499a937)
b1e4e4
---
b1e4e4
 base/server/python/pki/server/deployment/pkihelper.py  | 2 +-
b1e4e4
 base/util/src/netscape/security/x509/X509CertInfo.java | 6 ------
b1e4e4
 2 files changed, 1 insertion(+), 7 deletions(-)
b1e4e4
b1e4e4
diff --git a/base/server/python/pki/server/deployment/pkihelper.py b/base/server/python/pki/server/deployment/pkihelper.py
b1e4e4
index 8c7ef51..214c9ae 100644
b1e4e4
--- a/base/server/python/pki/server/deployment/pkihelper.py
b1e4e4
+++ b/base/server/python/pki/server/deployment/pkihelper.py
b1e4e4
@@ -4596,7 +4596,7 @@ class ConfigClient:
b1e4e4
         if ('pki_subsystem_signing_algorithm' in self.mdict):
b1e4e4
             if ('RSA' in self.mdict['pki_subsystem_signing_algorithm'] and
b1e4e4
                 'PSS' not in self.mdict['pki_subsystem_signing_algorithm']):
b1e4e4
-                self.mdict[''] = \
b1e4e4
+                self.mdict['pki_subsystem_signing_algorithm'] = \
b1e4e4
                     self.mdict['pki_subsystem_signing_algorithm'] + '/PSS'
b1e4e4
                     
b1e4e4
 
b1e4e4
diff --git a/base/util/src/netscape/security/x509/X509CertInfo.java b/base/util/src/netscape/security/x509/X509CertInfo.java
b1e4e4
index 93377f4..083ec41 100644
b1e4e4
--- a/base/util/src/netscape/security/x509/X509CertInfo.java
b1e4e4
+++ b/base/util/src/netscape/security/x509/X509CertInfo.java
b1e4e4
@@ -34,9 +34,6 @@ import netscape.security.util.DerInputStream;
b1e4e4
 import netscape.security.util.DerOutputStream;
b1e4e4
 import netscape.security.util.DerValue;
b1e4e4
 
b1e4e4
-import org.slf4j.Logger;
b1e4e4
-import org.slf4j.LoggerFactory;
b1e4e4
-
b1e4e4
 /**
b1e4e4
  * The X509CertInfo class represents X.509 certificate information.
b1e4e4
  *
b1e4e4
@@ -75,8 +72,6 @@ public class X509CertInfo implements CertAttrSet, Serializable {
b1e4e4
      * get, set, delete methods of Certificate, x509 type.
b1e4e4
      */
b1e4e4
 
b1e4e4
-     private static Logger logger = LoggerFactory.getLogger(X509CertInfo.class);
b1e4e4
-
b1e4e4
     public static final String IDENT = "x509.info";
b1e4e4
     // Certificate attribute names
b1e4e4
     public static final String NAME = "info";
b1e4e4
@@ -621,7 +616,6 @@ public class X509CertInfo implements CertAttrSet, Serializable {
b1e4e4
                 return (serialNum.get(attrName.getSuffix()));
b1e4e4
             }
b1e4e4
         case (ATTR_ALGORITHM):
b1e4e4
-            logger.warn("X509CertInfo.get(alg): " + this.toString());
b1e4e4
             if (attrName.getSuffix() == null) {
b1e4e4
                 return (algId);
b1e4e4
             } else {
b1e4e4
-- 
b1e4e4
1.8.3.1
b1e4e4