Issues
- Get rid of lucee's cacerts file in favor of a luceecerts file that is used as a supplement.LDEV-5222
- SSLCertificateList - list allLDEV-4848Resolved issue: LDEV-4848Pothys - MitrahSoft
- Admin - SSL Certificates page shows an error message twiceLDEV-4402Resolved issue: LDEV-4402Pothys - MitrahSoft
- cfhttp can't connect to https://repo1.maven.org/LDEV-4029Resolved issue: LDEV-4029Michael Offner
- update bundled cacerts file for 5.3.8LDEV-3517Resolved issue: LDEV-3517Zac Spitzer
- SSL certificate problemLDEV-3515
- javax.mail.Provider: com.sun.mail.imap.IMAPProvider not a subtypeLDEV-3431Michael Offner
- SSLCertificateInstall() doesn't throw underlying exception for error "Could not obtain server certificate chain"LDEV-3404Resolved issue: LDEV-3404Zac Spitzer
- Enhance SSLCertificateInstall() to point to custom key storeLDEV-2917
- monkehTweets incompatable with Lucee 5.2.8.50LDEV-1985Resolved issue: LDEV-1985
- Remove packaged cacerts file, use jvm cacerts by defaultLDEV-917Resolved issue: LDEV-917Zac Spitzer
- Included cacerts trust store is out of dateLDEV-916Resolved issue: LDEV-916Michael Offner
- Unhandled error when after failing to enter value in SSL Cert "Host" fieldLDEV-535Michael Offner
- Implement CFHTTP clientCert/ClientCertPassword compatible with ACFLDEV-469Resolved issue: LDEV-469Michael Offner
- Running scheduled tasks over SSL causes java.lang.NoClassDefFoundError:LDEV-459Resolved issue: LDEV-459
15 of 15
Get rid of lucee's cacerts file in favor of a luceecerts file that is used as a supplement.
Description
Details
Assignee
UnassignedUnassignedReporter
Sean P. FordSean P. FordLabels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Priority
New
Details
Details
Assignee
Unassigned
UnassignedReporter
Sean P. Ford
Sean P. FordLabels
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Affects versions
Priority
Created 21 December 2024 at 22:30
Updated 7 February 2025 at 14:38
Activity
Show:
Now that Lucee 6 is no longer using it’s own cacerts file by default, it’s time to think of a better, and more resilient way to handle certificates. To me, it would seem that the either/or approach doesn’t work very well. If you use the JVM’s cacerts file, you can only update it via keytool or other third party tools, which may or may not be easy to do in some hosting environments. If you use Lucee’s cacerts file, it becomes harder to update the file when Lucee is updated.
My suggestion is this: Luceee should get rid of it’s cacerts file altogether and start fresh with a luceecerts file, that would be empty, or contain only a dummy certificate when created. When upgraded, Lucee would not touch this file at all, only upgrading the JVM’s cacerts file if required. This would eliminate the need to make a choice between files and make it much simpler to manage from the admin, as it would be clear, that any changes in the admin were being made to the luceecerts file.
In order for this to work, Lucee would need to implement some custom TrustManagerFactory and SSLContext code to enable it to use both files. I’d love to help with this, but I don’t know a lick of Java, but I do know how to Google. I came across a could of ways to accomplish this, but the best to explain it was written by and can be found here:
The section starting at “5. Programmatically Consider Both TrustStores” is relevant to my proposal here and explains how to write the revised functions necessary to accomplish what I have described. There are other, similar ways to do the same thing, but in going through the source for Lucee and the source examples in his article, I saw many similarities which made me think it would be the most straightforward to implement. I think this is a fairly elegant solution which accomplishes many things.
Ends the need for Lucee to maintain or update cacerts, other than the one included with the JVM.
End the need for users to choose between Lucee’s and the JVM’s truststores.
Would allow for code to be added to the admin to update the JVM’s cacerts file automatically or manually in the event that is needed without disturbing any user-imported certificates. This could be done even without upgrading the JVM.
Would allow for the easy transfer of user imported certificates when moving to new hardware.
Would allow for the SSL Certificates page in the admin to display the currently imported certificates, without the clutter of the root certs (although they could be displayed as an option).
Would allow for the removal of certificates from the luceecerts file without disturbing the JVM’s cacerts file.
Other enhancements suggested:
In the short term, add to the docs of
SSLCertificateInstall
andSSLCertificateList
that if they are using the JVM’s cacerts file, these functions will have no effect. The admin mentions this, but not the docs for those functions, so users may think they do not work, although this problem goes away if the above solution is implemented.Add info to the Overview page showing which cacerts file is currently being used and it’s location. This should also be added to the server scope. I think it only shows up in the server properties if it has been switched to Lucee’s truststore.
Would love to see the basic functionality of this included in Lucee 6.2, with maybe the expanded Admin utilities included in Lucee 7.