Hello,

Thank you for the extra detail - given that, unfortunately I don't think 
there's currently a good solution to what you are asking for.
It would have to be a new feature addition to gRPC - you can open an issue 
on github for the feature request. The more evidence we have suggesting 
this is a commonly-needed use case, the more likely the feature is to be 
implemented.

On Monday, January 27, 2025 at 6:25:05 PM UTC-5 Rameshreddy Mudhireddy 
wrote:

> hi Gregory,
>
> Thank you for the response. This is for server side. On server side I 
> would like log an event/maintain counters when a client authentication 
> fails and log details like subject, CN, spiffe, etc from the client 
> certificate that was being rejected.
>
> Regarding GRPC_TRACE option, once turned on it will be logging for all 
> events but not for a particular event like client connection rejection.
>
> On Monday, January 27, 2025 at 11:32:10 AM UTC-8 Gregory Cooke wrote:
>
>> Hey,
>>
>> Can you please give me a little more detail around exactly what you're 
>> trying to do and looking to log? Are you trying to do it server side or 
>> client side?
>>
>> In the meanwhile, 
>> https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md has info 
>> about more verbose logging - it further links to all of the GRPC_TRACE 
>> values that you can set for more detailed logging as well.
>>
>> On Wednesday, January 15, 2025 at 5:56:15 PM UTC-5 Rameshreddy Mudhireddy 
>> wrote:
>>
>>> Hi,
>>>
>>> I need to log cert based authentication failures and I don't see any 
>>> hooks available to interact with the SSL handshake at the point of 
>>> rejection. I found the following hooks but these seems to be after the 
>>> handshake itself.
>>>
>>> 1.  TlsServerCredentialsOptions struct has 
>>> the set_certificate_verifier() API which is for custom verifications, gets 
>>> invoked only after the SSL handshake is completed. 
>>> 2. grpc::AuthMetadataProcessor::Process() API is also after the 
>>> handshake itself.
>>> 3. C++ interceptors are also after the handshake is completed 
>>> (builder.experimental().SetInterceptorCreators())
>>>
>>> This can be done easily in grpc-go by wrapping 
>>> credentials.TransportCredentials and implementing ServerHandshake() API to 
>>> capture failures and logging them. 
>>>
>>> Is this even possible using gRPC-C++ libs? Please advise.
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/grpc-io/a6d2e3e1-dd8f-45c0-93b9-6ecfb7fc5919n%40googlegroups.com.

Reply via email to