Joe McDonnell created KUDU-3663:
-----------------------------------

             Summary: Support certificates signed with RSASSA-PSS for channel 
binding
                 Key: KUDU-3663
                 URL: https://issues.apache.org/jira/browse/KUDU-3663
             Project: Kudu
          Issue Type: Task
          Components: security
    Affects Versions: 1.17.0
            Reporter: Joe McDonnell
            Assignee: Joe McDonnell


Impala hit an issue (IMPALA-14038) where certificates signed using RSASSA-PSS 
don't work with KRPC / SASL clusters. It produces an error like:
{noformat}
negotiation.cc:311] Negotiation complete: Not implemented: Server connection 
negotiation failed: server connection from ****: server certificate has no 
signature digest (hash) algorithm{noformat}
That error comes from Cert::GetServerEndPointChannelBindings(), which is code 
shared between Kudu and Impala, so this is the corresponding Kudu JIRA. The 
issue is that RSASSA-PSS has a configurable hash algorithm, and OpenSSL's 
OBJ_find_sigid_algs() doesn't handle finding the hash algorithm for RSASSA-PSS.

OpenSSL 1.1.1 introduced the x509_get_signature_info(), which supports fetching 
the hash algorithm for RSASSA-PSS. Postgres switched their code to use this 
when faced with a similar situation: 
[https://www.postgresql.org/message-id/CAAWbhmgjYym7AsH1fqOx%2BbNqctPpSW1DzyLv_0VhBa_ng%2BNVyQ%40mail.gmail.com]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to