1
1
use std:: collections:: HashMap ;
2
+
3
+ #[ cfg( feature = "zeroize" ) ]
2
4
use zeroize:: Zeroize ;
3
5
4
6
use crate :: cl:: { CredentialSignature , RevocationRegistry , SignatureCorrectnessProof , Witness } ;
@@ -82,6 +84,7 @@ pub type ShortCredentialValues = HashMap<String, String>;
82
84
#[ derive( Clone , Debug , Default , PartialEq , Eq , Deserialize , Serialize ) ]
83
85
pub struct CredentialValues ( pub HashMap < String , AttributeValues > ) ;
84
86
87
+ #[ cfg( feature = "zeroize" ) ]
85
88
impl Drop for CredentialValues {
86
89
fn drop ( & mut self ) {
87
90
self . zeroize ( ) ;
@@ -98,6 +101,7 @@ impl Validatable for CredentialValues {
98
101
}
99
102
}
100
103
104
+ #[ cfg( feature = "zeroize" ) ]
101
105
impl Zeroize for CredentialValues {
102
106
fn zeroize ( & mut self ) {
103
107
for attr in self . 0 . values_mut ( ) {
@@ -106,7 +110,8 @@ impl Zeroize for CredentialValues {
106
110
}
107
111
}
108
112
109
- #[ derive( Clone , Debug , PartialEq , Eq , Zeroize , Deserialize , Serialize ) ]
113
+ #[ derive( Clone , Debug , PartialEq , Eq , Deserialize , Serialize ) ]
114
+ #[ cfg_attr( feature = "zeroize" , derive( Zeroize ) ) ]
110
115
pub struct AttributeValues {
111
116
pub raw : String ,
112
117
pub encoded : String ,
0 commit comments