diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2022-05-05 22:28:11 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2022-05-05 22:28:11 +0700 |
commit | 893a7ef027197c5c41ff7f60341fc661b36550d5 (patch) | |
tree | de08e25514d405e6983415060adf4f2f57db682d | |
parent | Rework TLS 1.3 verifiers (diff) | |
download | BouncyCastle.NET-ed25519-893a7ef027197c5c41ff7f60341fc661b36550d5.tar.xz |
Fix tests for stream signers
-rw-r--r-- | crypto/test/src/tls/test/TlsTestClientImpl.cs | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/crypto/test/src/tls/test/TlsTestClientImpl.cs b/crypto/test/src/tls/test/TlsTestClientImpl.cs index 8f878eeb8..04c8ad0af 100644 --- a/crypto/test/src/tls/test/TlsTestClientImpl.cs +++ b/crypto/test/src/tls/test/TlsTestClientImpl.cs @@ -372,8 +372,36 @@ namespace Org.BouncyCastle.Tls.Tests public virtual TlsStreamSigner GetStreamSigner() { - return null; + TlsStreamSigner streamSigner = m_inner.GetStreamSigner(); + + if (streamSigner != null && m_outer.m_config.clientAuth == TlsTestConfig.CLIENT_AUTH_INVALID_VERIFY) + return new CorruptingStreamSigner(m_outer, streamSigner); + + return streamSigner; } - }; + } + + internal class CorruptingStreamSigner + : TlsStreamSigner + { + private readonly TlsTestClientImpl m_outer; + private readonly TlsStreamSigner m_inner; + + internal CorruptingStreamSigner(TlsTestClientImpl outer, TlsStreamSigner inner) + { + this.m_outer = outer; + this.m_inner = inner; + } + + public Stream Stream + { + get { return m_inner.Stream; } + } + + public byte[] GetSignature() + { + return m_outer.CorruptBit(m_inner.GetSignature()); + } + } } } |