#9341 X509v3 extensions cannot be removed from SSL certificate
Opened by ogonzales. Modified

Request for enhancement

FreeIPA should have the capability to generate SSL certificates without X509v3 extensions

Issue

Unable to generate an SSL certificate without X509v3 extensions

Steps to Reproduce

  1. a certificate profile without extension was successfully imported
  2. an acl was added with the cert profile id
  3. a cert request was executed but got an error

My IPA commands:

ipa certprofile-import --file=/path/test.cfg --desc "no ext" --store TRUE testid
ipa caacl-add test_acl --hostcat=all
ipa caacl-add-profile test_acl --certprofile testid
ipa-getcert request -g 4096 -k /path/client.key -f /path/client.pem -N cn=client.ipa.test -K host/client.ipa.test -T "testid" -I TEST -r

Actual behavior

  • ca-error: Server at https://server.ipa.test/ipa/json failed request, will retry: 903 (an internal error has occurred).
  • No SSL certificate is generated

Expected behavior

An SSL certificate

here is my certificate profile:

auth.instance_id=raCertAuth
classId=caEnrollImpl
desc=This certificate profile is for enrolling server certificates with IPA-RA agent authentication.
enable=true
enableBy=ipara
input.i1.class_id=certReqInputImpl
input.i2.class_id=submitterInfoInputImpl
input.list=i1,i2
name=IPA-RA Agent-Authenticated Server Certificate Enrollment
output.list=o1
output.o1.class_id=certOutputImpl
policyset.list=serverCertSet
policyset.serverCertSet.1.constraint.class_id=subjectNameConstraintImpl
policyset.serverCertSet.1.constraint.name=Subject Name Constraint
policyset.serverCertSet.1.constraint.params.accept=true
policyset.serverCertSet.1.constraint.params.pattern=CN=[^,]+,.+
policyset.serverCertSet.1.default.class_id=subjectNameDefaultImpl
policyset.serverCertSet.1.default.name=Subject Name Default
policyset.serverCertSet.1.default.params.name=CN=client, OU=MYOU, O=MYO ST=MYST, C=US
policyset.serverCertSet.2.constraint.class_id=validityConstraintImpl
policyset.serverCertSet.2.constraint.name=Validity Constraint
policyset.serverCertSet.2.constraint.params.notAfterCheck=false
policyset.serverCertSet.2.constraint.params.notBeforeCheck=false
policyset.serverCertSet.2.constraint.params.range=9135
policyset.serverCertSet.2.default.class_id=validityDefaultImpl
policyset.serverCertSet.2.default.name=Validity Default
policyset.serverCertSet.2.default.params.range=9125
policyset.serverCertSet.2.default.params.startTime=0
policyset.serverCertSet.3.constraint.class_id=keyConstraintImpl
policyset.serverCertSet.3.constraint.name=Key Constraint
policyset.serverCertSet.3.constraint.params.keyParameters=1024,2048,3072,4096,8192
policyset.serverCertSet.3.constraint.params.keyType=RSA
policyset.serverCertSet.3.default.class_id=userKeyDefaultImpl
policyset.serverCertSet.3.default.name=Key Default
policyset.serverCertSet.8.constraint.class_id=signingAlgConstraintImpl
policyset.serverCertSet.8.constraint.name=No Constraint
policyset.serverCertSet.8.constraint.params.signingAlgsAllowed=SHA1withRSA,SHA256withRSA,SHA384withRSA,SHA512withRSA,MD5withRSA,MD2withRSA,SHA1withD
SA,SHA1withEC,SHA256withEC,SHA384withEC,SHA512withEC
policyset.serverCertSet.8.default.class_id=signingAlgDefaultImpl
policyset.serverCertSet.8.default.name=Signing Alg
policyset.serverCertSet.8.default.params.signingAlg=SHA512withRSA
policyset.serverCertSet.list=1,2,3,8
profileId=testid
visible=false

Capture.PNG


With an RFE you need to include "why" you need it. What problem are you trying to solve by excluding the x509v3 extensions?

You should be able to see why the request failed by looking in the httpd error log.

I'm not going to use any X509v3 extension . The https error log doesn't give details
Capture.PNG

Can you please attach the relevant portions of the CA debug log?
It can be found at /var/log/pki/pki-tomcat/ca/debug.<date>.log

Metadata