@@ -60,6 +60,12 @@ impl From<Certificate> for CertificateDer<'static> {
60
60
}
61
61
}
62
62
63
+ impl AsRef < CertificateParams > for Certificate {
64
+ fn as_ref ( & self ) -> & CertificateParams {
65
+ & self . params
66
+ }
67
+ }
68
+
63
69
/// Parameters used for certificate generation
64
70
#[ allow( missing_docs) ]
65
71
#[ non_exhaustive]
@@ -150,13 +156,13 @@ impl CertificateParams {
150
156
pub fn signed_by (
151
157
self ,
152
158
public_key : & impl PublicKeyData ,
153
- issuer : & Certificate ,
159
+ issuer : & impl AsRef < Self > ,
154
160
issuer_key : & KeyPair ,
155
161
) -> Result < Certificate , Error > {
156
162
let issuer = Issuer {
157
- distinguished_name : & issuer. params . distinguished_name ,
158
- key_identifier_method : & issuer. params . key_identifier_method ,
159
- key_usages : & issuer. params . key_usages ,
163
+ distinguished_name : & issuer. as_ref ( ) . distinguished_name ,
164
+ key_identifier_method : & issuer. as_ref ( ) . key_identifier_method ,
165
+ key_usages : & issuer. as_ref ( ) . key_usages ,
160
166
key_pair : issuer_key,
161
167
} ;
162
168
@@ -843,6 +849,12 @@ impl CertificateParams {
843
849
}
844
850
}
845
851
852
+ impl AsRef < CertificateParams > for CertificateParams {
853
+ fn as_ref ( & self ) -> & CertificateParams {
854
+ self
855
+ }
856
+ }
857
+
846
858
fn write_general_subtrees ( writer : DERWriter , tag : u64 , general_subtrees : & [ GeneralSubtree ] ) {
847
859
writer. write_tagged_implicit ( Tag :: context ( tag) , |writer| {
848
860
writer. write_sequence ( |writer| {
0 commit comments