Adding the provider jars to CLASSPATH solved the issue.

Thank you so much Mark for your quick feedback.

Thanks,
Amit



-----Original Message-----
From: Mark Thomas <ma...@apache.org>
Sent: Tuesday, October 31, 2023 2:47 PM
To: users@tomcat.apache.org
Subject: [External] Re: Java 9+ and custom JCE/JSSE providers


CAUTION: This email originated from outside the organization. Do not click 
links or open attachments unless you recognize the sender and know the content 
is safe. If you believe this is a phishing email, use the Report to 
Cybersecurity icon in Outlook.



On 31/10/2023 14:22, Amit Pande wrote:
> Hello,
>
> I am in the process of updating https://github.com/amitlpande/tomcat-9-fips 
> page for version later than Java 8.
>
> Ran into an issue:
>
>
>    1.  Was looking the configure the additional bouncy castle providers in 
> the Java install itself by:
>       *   Modifying the java.security file to add providers.
>       *   Place the jars in the Java'e lib/ext directory.
>    2.  However, from Java 9+, the lib/ext directory is no longer present 
> (https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-2C896CA8-927C-4381-A737-B1D81D964B7B)
>    3.  The alternate I attempted was to place the additional provider jars in 
> Tomcat's lib directory.
>    4.  Create a java security properties file with:
>                      
> security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
>                      
> security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider 
> fips:BCFIPS
>                     security.provider.3=sun.security.provider.Sun
>                     ssl.KeyManagerFactory.algorithm=PKIX
>                     ssl.TrustManagerFactory.algorithm=PKIX
>
>    1.  Launch Tomcat with JVM option 
> -Djava.security.properties=file:/path/to/java_security_properties_file
>    2.  However, I noticed that these BC providers weren't getting loaded.

You'll also need to add the JARS containing the providers to the class path so 
the JRE can load them. You should be able to do that (and set
java.security.properties) in setenv.sh|bat

Mark

>
>
>
>
>
>
>      I see a comment from Chris here -
> https://www/.
> mail-archive.com%2Fusers%40tomcat.apache.org%2Fmsg137824.html&data=05%
> 7C01%7CAmit.Pande%40veritas.com%7C4bcc30de9820433b280308dbda4a443a%7Cf
> c8e13c0422c4c55b3eaca318e6cac32%7C0%7C0%7C638343784744378375%7CUnknown
> %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ
> XVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SgG9b6ilBMEGwV5nedIdX9XcXXDGHqbyQmva
> 14m8xwI%3D&reserved=0 "I don't see any place in Tomcat to specify the
> JSSE provider. Perhaps we should expose that to the administrator in some 
> way."
>
> Not sure if it's relevant here.
>
> But wanted to know if there is any way to configure Tomcat for Java 9+ with 
> custom JSSE/JCE providers (with just config change) ? Maybe I missed 
> something?
>
> Also, FWIW, I was able get the FIPS configuration for Java 11, 17 with Tomcat 
> 9, by registering a custom listener and adding providers there. Will soon 
> update the https://github.com/amitlpande/tomcat-9-fips for detailed steps.
>
> Thanks,
> Amit
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to