Skip to content

Commit b2a851f

Browse files
audunhallanddjc
authored andcommitted
change signature of signed_by to accept &AsRef<CertificateParams> issuer
1 parent addc408 commit b2a851f

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

rcgen/src/certificate.rs

+16-4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ impl From<Certificate> for CertificateDer<'static> {
6060
}
6161
}
6262

63+
impl AsRef<CertificateParams> for Certificate {
64+
fn as_ref(&self) -> &CertificateParams {
65+
&self.params
66+
}
67+
}
68+
6369
/// Parameters used for certificate generation
6470
#[allow(missing_docs)]
6571
#[non_exhaustive]
@@ -150,13 +156,13 @@ impl CertificateParams {
150156
pub fn signed_by(
151157
self,
152158
public_key: &impl PublicKeyData,
153-
issuer: &Certificate,
159+
issuer: &impl AsRef<Self>,
154160
issuer_key: &KeyPair,
155161
) -> Result<Certificate, Error> {
156162
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,
160166
key_pair: issuer_key,
161167
};
162168

@@ -843,6 +849,12 @@ impl CertificateParams {
843849
}
844850
}
845851

852+
impl AsRef<CertificateParams> for CertificateParams {
853+
fn as_ref(&self) -> &CertificateParams {
854+
self
855+
}
856+
}
857+
846858
fn write_general_subtrees(writer: DERWriter, tag: u64, general_subtrees: &[GeneralSubtree]) {
847859
writer.write_tagged_implicit(Tag::context(tag), |writer| {
848860
writer.write_sequence(|writer| {

0 commit comments

Comments
 (0)