@@ -10,17 +10,19 @@ use openmls_x509_credential::CertificateKeyPair;
1010use wire_e2e_identity:: prelude:: { HashAlgorithm , WireIdentityReader } ;
1111#[ cfg( test) ]
1212use x509_cert:: der:: Encode ;
13- use zeroize:: Zeroizing ;
13+ use zeroize:: Zeroize ;
1414
1515use super :: { Error , Result } ;
1616#[ cfg( test) ]
1717use crate :: test_utils:: x509:: X509Certificate ;
1818use crate :: { ClientId , Credential , CredentialType , MlsError , RecursiveError , e2e_identity:: id:: WireQualifiedClientId } ;
1919
20- #[ derive( core_crypto_macros:: Debug , Clone ) ]
20+ #[ derive( core_crypto_macros:: Debug , Clone , Zeroize ) ]
21+ #[ zeroize( drop) ]
2122pub struct CertificatePrivateKey {
2223 #[ sensitive]
23- pub ( crate ) value : Zeroizing < Vec < u8 > > ,
24+ pub ( crate ) value : Vec < u8 > ,
25+ #[ zeroize( skip) ]
2426 pub ( crate ) signature_scheme : SignatureScheme ,
2527}
2628
@@ -208,7 +210,7 @@ impl CertificateBundle {
208210 Self {
209211 certificate_chain : vec ! [ cert. certificate. to_der( ) . unwrap( ) , issuer. certificate. to_der( ) . unwrap( ) ] ,
210212 private_key : CertificatePrivateKey {
211- value : cert. pki_keypair . signing_key_bytes ( ) . into ( ) ,
213+ value : cert. pki_keypair . signing_key_bytes ( ) ,
212214 signature_scheme : cert. signature_scheme ,
213215 } ,
214216 }
0 commit comments