xref: /freebsd-src/crypto/openssl/doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre ProncheryOSSL_CRMF_MSG_get0_tmpl,
6*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_serialNumber,
7*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_subject,
8*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_issuer,
9*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_extensions,
10*b077aed3SPierre ProncheryOSSL_CRMF_CERTID_get0_serialNumber,
11*b077aed3SPierre ProncheryOSSL_CRMF_CERTID_get0_issuer,
12*b077aed3SPierre ProncheryOSSL_CRMF_ENCRYPTEDVALUE_get1_encCert,
13*b077aed3SPierre ProncheryOSSL_CRMF_MSG_get_certReqId
14*b077aed3SPierre Pronchery- functions reading from CRMF CertReqMsg structures
15*b077aed3SPierre Pronchery
16*b077aed3SPierre Pronchery=head1 SYNOPSIS
17*b077aed3SPierre Pronchery
18*b077aed3SPierre Pronchery #include <openssl/crmf.h>
19*b077aed3SPierre Pronchery
20*b077aed3SPierre Pronchery OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG *crm);
21*b077aed3SPierre Pronchery const ASN1_INTEGER
22*b077aed3SPierre Pronchery *OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE *tmpl);
23*b077aed3SPierre Pronchery const X509_NAME
24*b077aed3SPierre Pronchery *OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE *tmpl);
25*b077aed3SPierre Pronchery const X509_NAME
26*b077aed3SPierre Pronchery *OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE *tmpl);
27*b077aed3SPierre Pronchery X509_EXTENSIONS
28*b077aed3SPierre Pronchery *OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE *tmpl);
29*b077aed3SPierre Pronchery
30*b077aed3SPierre Pronchery const ASN1_INTEGER
31*b077aed3SPierre Pronchery *OSSL_CRMF_CERTID_get0_serialNumber(const OSSL_CRMF_CERTID *cid);
32*b077aed3SPierre Pronchery const X509_NAME *OSSL_CRMF_CERTID_get0_issuer(const OSSL_CRMF_CERTID *cid);
33*b077aed3SPierre Pronchery
34*b077aed3SPierre Pronchery X509
35*b077aed3SPierre Pronchery *OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert(const OSSL_CRMF_ENCRYPTEDVALUE *ecert,
36*b077aed3SPierre Pronchery                                        OSSL_LIB_CTX *libctx, const char *propq,
37*b077aed3SPierre Pronchery                                        EVP_PKEY *pkey);
38*b077aed3SPierre Pronchery
39*b077aed3SPierre Pronchery int OSSL_CRMF_MSG_get_certReqId(const OSSL_CRMF_MSG *crm);
40*b077aed3SPierre Pronchery
41*b077aed3SPierre Pronchery
42*b077aed3SPierre Pronchery=head1 DESCRIPTION
43*b077aed3SPierre Pronchery
44*b077aed3SPierre ProncheryOSSL_CRMF_MSG_get0_tmpl() retrieves the certificate template of I<crm>.
45*b077aed3SPierre Pronchery
46*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_serialNumber() retrieves the serialNumber of the
47*b077aed3SPierre Proncherygiven certificate template I<tmpl>.
48*b077aed3SPierre Pronchery
49*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_subject() retrieves the subject name of the
50*b077aed3SPierre Proncherygiven certificate template I<tmpl>.
51*b077aed3SPierre Pronchery
52*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_issuer() retrieves the issuer name of the
53*b077aed3SPierre Proncherygiven certificate template I<tmpl>.
54*b077aed3SPierre Pronchery
55*b077aed3SPierre ProncheryOSSL_CRMF_CERTTEMPLATE_get0_extensions() retrieves the X.509 extensions
56*b077aed3SPierre Proncheryof the given certificate template I<tmpl>, or NULL if not present.
57*b077aed3SPierre Pronchery
58*b077aed3SPierre ProncheryOSSL_CRMF_CERTID_get0_serialNumber retrieves the serialNumber
59*b077aed3SPierre Proncheryof the given CertId I<cid>.
60*b077aed3SPierre Pronchery
61*b077aed3SPierre ProncheryOSSL_CRMF_CERTID_get0_issuer retrieves the issuer name
62*b077aed3SPierre Proncheryof the given CertId I<cid>, which must be of ASN.1 type GEN_DIRNAME.
63*b077aed3SPierre Pronchery
64*b077aed3SPierre ProncheryOSSL_CRMF_ENCRYPTEDVALUE_get1_encCert() decrypts the certificate in the given
65*b077aed3SPierre ProncheryencryptedValue I<ecert>, using the private key I<pkey>, library context
66*b077aed3SPierre ProncheryI<libctx> and property query string I<propq> (see L<OSSL_LIB_CTX(3)>).
67*b077aed3SPierre ProncheryThis is needed for the indirect POPO method as in RFC 4210 section 5.2.8.2.
68*b077aed3SPierre ProncheryThe function returns the decrypted certificate as a copy, leaving its ownership
69*b077aed3SPierre Proncherywith the caller, who is responsible for freeing it.
70*b077aed3SPierre Pronchery
71*b077aed3SPierre ProncheryOSSL_CRMF_MSG_get_certReqId() retrieves the certReqId of I<crm>.
72*b077aed3SPierre Pronchery
73*b077aed3SPierre Pronchery
74*b077aed3SPierre Pronchery=head1 RETURN VALUES
75*b077aed3SPierre Pronchery
76*b077aed3SPierre ProncheryOSSL_CRMF_MSG_get_certReqId() returns the certificate request ID as a
77*b077aed3SPierre Proncherynonnegative integer or -1 on error.
78*b077aed3SPierre Pronchery
79*b077aed3SPierre ProncheryAll other functions return a pointer with the intended result or NULL on error.
80*b077aed3SPierre Pronchery
81*b077aed3SPierre Pronchery=head1 SEE ALSO
82*b077aed3SPierre Pronchery
83*b077aed3SPierre ProncheryRFC 4211
84*b077aed3SPierre Pronchery
85*b077aed3SPierre Pronchery=head1 HISTORY
86*b077aed3SPierre Pronchery
87*b077aed3SPierre ProncheryThe OpenSSL CRMF support was added in OpenSSL 3.0.
88*b077aed3SPierre Pronchery
89*b077aed3SPierre Pronchery=head1 COPYRIGHT
90*b077aed3SPierre Pronchery
91*b077aed3SPierre ProncheryCopyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
92*b077aed3SPierre Pronchery
93*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
94*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
95*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
96*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
97*b077aed3SPierre Pronchery
98*b077aed3SPierre Pronchery=cut
99