Skip to content

Commit 31310de

Browse files
chore: circumvent unused clippy lint in a struct with #[zeoize(skip)]
Just do the equivalent of `zeroize(skip)` - `Zeroize<T>` on the other field. There is presumably a bug or an incomatibility in the zeroize derive macro, which causes a field marked with `#[zeroize(skip)]` as ununsed. This is a way around that lint.
1 parent c3b62bd commit 31310de

File tree

5 files changed

+8
-10
lines changed

5 files changed

+8
-10
lines changed

crypto/src/mls/credential/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ mod tests {
312312
let new_pki_kp = PkiKeypair::rand_unchecked(case.signature_scheme());
313313

314314
let eve_key = CertificatePrivateKey {
315-
value: new_pki_kp.signing_key_bytes(),
315+
value: new_pki_kp.signing_key_bytes().into(),
316316
signature_scheme: case.ciphersuite().signature_algorithm(),
317317
};
318318
let cb = CertificateBundle {

crypto/src/mls/credential/x509.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,17 @@ use openmls_x509_credential::CertificateKeyPair;
1010
use wire_e2e_identity::prelude::{HashAlgorithm, WireIdentityReader};
1111
#[cfg(test)]
1212
use x509_cert::der::Encode;
13-
use zeroize::Zeroize;
13+
use zeroize::Zeroizing;
1414

1515
use super::{Error, Result};
1616
#[cfg(test)]
1717
use crate::test_utils::x509::X509Certificate;
1818
use crate::{ClientId, Credential, CredentialType, MlsError, RecursiveError, e2e_identity::id::WireQualifiedClientId};
1919

20-
#[derive(core_crypto_macros::Debug, Clone, Zeroize)]
21-
#[zeroize(drop)]
20+
#[derive(core_crypto_macros::Debug, Clone)]
2221
pub struct CertificatePrivateKey {
2322
#[sensitive]
24-
pub(crate) value: Vec<u8>,
25-
#[zeroize(skip)]
23+
pub(crate) value: Zeroizing<Vec<u8>>,
2624
pub(crate) signature_scheme: SignatureScheme,
2725
}
2826

@@ -210,7 +208,7 @@ impl CertificateBundle {
210208
Self {
211209
certificate_chain: vec![cert.certificate.to_der().unwrap(), issuer.certificate.to_der().unwrap()],
212210
private_key: CertificatePrivateKey {
213-
value: cert.pki_keypair.signing_key_bytes(),
211+
value: cert.pki_keypair.signing_key_bytes().into(),
214212
signature_scheme: cert.signature_scheme,
215213
},
216214
}

crypto/src/test_utils/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ impl SessionContext {
207207
certificate_chain: vec![cert_der],
208208
private_key: crate::mls::credential::x509::CertificatePrivateKey {
209209
signature_scheme,
210-
value: actor_cert.pki_keypair.signing_key_bytes(),
210+
value: actor_cert.pki_keypair.signing_key_bytes().into(),
211211
},
212212
}
213213
}

crypto/src/transaction_context/e2e_identity/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ impl TransactionContext {
8989
let crl_new_distribution_points = self.extract_dp_on_init(&certificate_chain[..]).await?;
9090

9191
let private_key = CertificatePrivateKey {
92-
value: sk,
92+
value: sk.into(),
9393
signature_scheme: cs.signature_algorithm(),
9494
};
9595

crypto/src/transaction_context/e2e_identity/rotate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ impl TransactionContext {
155155
.map_err(RecursiveError::e2e_identity("getting certificate response"))?;
156156

157157
let private_key = CertificatePrivateKey {
158-
value: sk,
158+
value: sk.into(),
159159
signature_scheme,
160160
};
161161

0 commit comments

Comments
 (0)