Skip to content

BouncyCastle support for client TLS - exists, planned, can be worked around? #12227

@scotthraban

Description

@scotthraban

GrpcSslContexts has handling for JSSE providers from SunJSSE / IBMJSSE2 / OpenJSSE (specifically in findJdkProvider and configure), but not for BouncyCastle FIPS, which has a provider name of BCJSSE.

#9239 suggests that GrpcSslContexts should be used, but calls out that bc-fipsdoes not provide TLS, which is correct, however bctls-fips is the library that does add TLS support. bc-fips only provides the JCE provider, while bctls-fips provides the JSSE provider that is needed.

If support cannot be added, are there any suggestions for manually configuring to use BouncyCastle? This is a requirement for our project. The call to GrpcSslContexts.forClient() is very deep inside the channel builder code, I don't see a way, without replicating much code, of hooking out to get the BC JSSE Provider :(.

It does appear that Netty (which we are using) supports BouncyCastle, io.netty.handler.ssl.BouncyCastleAlpnSslUtils being referenced from #11441, but it is unclear from that question how the OP even got that far.

Thanks for your time!

TAG: @ejona86

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions