Skip to content

Commit 348a5bb

Browse files
renemeHannes Rantzsch
authored andcommitted
bogo fix: extend -signing-prefs 'hack' for TLS 1.3
1 parent c64fece commit 348a5bb

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

src/bogo_shim/bogo_shim.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -897,10 +897,17 @@ class Shim_Policy final : public Botan::TLS::Policy
897897
schemes.emplace_back(static_cast<uint16_t>(pref));
898898
}
899899

900-
// BoGo gets sad if these are not included in our signature_algorithms extension
900+
// The relevant tests (*-Sign-Negotiate-*) want to configure a preference
901+
// for the scheme of our signing operation (-signing-prefs). However, this
902+
// policy method (`allowed_signature_schemes`) also restricts the peer's
903+
// signing operation. If we weren't to add a few 'common' algorithms, initial
904+
// security parameter negotiation would fail.
905+
// By placing the BoGo-configured scheme first we make sure our implementation
906+
// meets BoGo's expectation when it is our turn to sign.
901907
if(!m_args.flag_set("server"))
902908
{
903909
schemes.emplace_back(Botan::TLS::Signature_Scheme::RSA_PKCS1_SHA256);
910+
schemes.emplace_back(Botan::TLS::Signature_Scheme::RSA_PSS_SHA256);
904911
schemes.emplace_back(Botan::TLS::Signature_Scheme::ECDSA_SHA256);
905912
}
906913

src/bogo_shim/config.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,6 @@
114114
"*EarlyData*": "No TLS 1.3 Early Data, yet",
115115
"TLS13-1RTT-Client-*": "No TLS 1.3 Early Data, yet",
116116

117-
"Client-Sign-Negotiate-ECDSA_P256_SHA256-TLS13": "Need investigation before merging GH #2957",
118-
"Client-Sign-Negotiate-ECDSA_P384_SHA384-TLS13": "Need investigation before merging GH #2957",
119-
"Client-Sign-Negotiate-ECDSA_P521_SHA512-TLS13": "Need investigation before merging GH #2957",
120-
"Client-Sign-Negotiate-RSA_PSS_SHA384-TLS13": "Need investigation before merging GH #2957",
121-
"Client-Sign-Negotiate-RSA_PSS_SHA512-TLS13": "Need investigation before merging GH #2957",
122-
123117
"SendNoClientCertificateExtensions-TLS13": "-signed-cert-timestamps currently not supported in the shim",
124118
"KeyUpdate-RequestACK-UnfinishedWrite": "-read-with-unfinished-write currently not supported in the shim",
125119

0 commit comments

Comments
 (0)