From 3e224c714e67d15a22066ee21679ae63b041b3b2 Mon Sep 17 00:00:00 2001 From: Joseph Birr-Pixton Date: Mon, 4 Dec 2023 17:35:13 +0000 Subject: [PATCH] umm this doesn't work --- provider-example/src/aead.rs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/provider-example/src/aead.rs b/provider-example/src/aead.rs index f17536d8..d87be054 100644 --- a/provider-example/src/aead.rs +++ b/provider-example/src/aead.rs @@ -85,27 +85,21 @@ impl cipher::MessageEncrypter for Tls13Cipher { &mut self, m: cipher::BorrowedPlainMessage, seq: u64, - ) -> Result { + ) -> Result { let total_len = self.encrypted_payload_len(m.payload.len()); // construct a TLSInnerPlaintext - let mut payload = Vec::with_capacity(total_len); - payload.extend_from_slice(m.payload); - payload.push(m.typ.get_u8()); + let mut out = cipher::OutgoingOpaqueMessage::new(ContentType::ApplicationData, ProtocolVersion::TLSv1_2, total_len); + out.extend_from_slice(m.payload); + out.extend_from_slice(&[m.typ.get_u8()]); let nonce = chacha20poly1305::Nonce::from(cipher::Nonce::new(&self.1, seq).0); let aad = cipher::make_tls13_aad(total_len); self.0 - .encrypt_in_place(&nonce, &aad, &mut payload) + .encrypt_in_place(&nonce, &aad, &mut out) .map_err(|_| rustls::Error::EncryptError) - .map(|_| { - cipher::OpaqueMessage::new( - ContentType::ApplicationData, - ProtocolVersion::TLSv1_2, - payload, - ) - }) + .map(|_| out) } fn encrypted_payload_len(&self, payload_len: usize) -> usize {