]>
Commit | Line | Data |
---|---|---|
3dbc5156 DDO |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
62dcd2aa | 5 | OSSL_CMP_MSG_get0_header, |
7df56ada | 6 | OSSL_CMP_MSG_get_bodytype, |
143be474 | 7 | OSSL_CMP_MSG_update_transactionID, |
593d6554 | 8 | OSSL_CMP_CTX_setup_CRM, |
fafa56a1 | 9 | OSSL_CMP_MSG_read, |
1202de44 | 10 | OSSL_CMP_MSG_write, |
ae8483d2 DDO |
11 | d2i_OSSL_CMP_MSG_bio, |
12 | i2d_OSSL_CMP_MSG_bio | |
3dbc5156 DDO |
13 | - function(s) manipulating CMP messages |
14 | ||
15 | =head1 SYNOPSIS | |
16 | ||
17 | #include <openssl/cmp.h> | |
18 | ||
19 | OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg); | |
7df56ada | 20 | int OSSL_CMP_MSG_get_bodytype(const OSSL_CMP_MSG *msg); |
143be474 | 21 | int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg); |
593d6554 | 22 | OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR, int rid); |
fafa56a1 | 23 | OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file); |
1202de44 | 24 | int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg); |
ae8483d2 DDO |
25 | OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg); |
26 | int i2d_OSSL_CMP_MSG_bio(BIO *bio, const OSSL_CMP_MSG *msg); | |
3dbc5156 DDO |
27 | |
28 | =head1 DESCRIPTION | |
29 | ||
143be474 | 30 | OSSL_CMP_MSG_get0_header() returns the header of the given CMP message. |
3dbc5156 | 31 | |
7df56ada DDO |
32 | OSSL_CMP_MSG_get_bodytype() returns the body type of the given CMP message. |
33 | ||
143be474 DDO |
34 | OSSL_CMP_MSG_update_transactionID() updates the transactionID field |
35 | in the header of the given message according to the CMP_CTX. | |
36 | This requires re-protecting the message (if it was protected). | |
37 | ||
593d6554 DDO |
38 | OSSL_CMP_CTX_setup_CRM() creates a CRMF certificate request message |
39 | for inclusion in a CMP request message based on details contained in I<ctx>. | |
40 | If the CMP context does not include a subject name set via | |
41 | L<OSSL_CMP_CTX_set1_subjectName(3)> but includes a reference certificate | |
42 | then it copies the subject DN from there | |
43 | if I<for_KUR> is set or the I<ctx> does not include a subjectAltName. | |
44 | The I<rid> defines the request identifier to use, which typically is 0. | |
45 | ||
f5f4fbaa | 46 | OSSL_CMP_MSG_read() loads a DER-encoded OSSL_CMP_MSG from I<file>. |
fafa56a1 | 47 | |
f5f4fbaa | 48 | OSSL_CMP_MSG_write() stores the given OSSL_CMP_MSG to I<file> in DER encoding. |
1202de44 | 49 | |
143be474 | 50 | d2i_OSSL_CMP_MSG_bio() parses an ASN.1-encoded OSSL_CMP_MSG from the BIO I<bio>. |
62dcd2aa DDO |
51 | It assigns a pointer to the new structure to I<*msg> if I<msg> is not NULL. |
52 | ||
143be474 | 53 | i2d_OSSL_CMP_MSG_bio() writes the OSSL_CMP_MSG I<msg> in ASN.1 encoding |
ae8483d2 | 54 | to BIO I<bio>. |
62dcd2aa | 55 | |
3dbc5156 DDO |
56 | =head1 NOTES |
57 | ||
58 | CMP is defined in RFC 4210. | |
59 | ||
60 | =head1 RETURN VALUES | |
61 | ||
62dcd2aa | 62 | OSSL_CMP_MSG_get0_header() returns the intended pointer value as described above |
3dbc5156 DDO |
63 | or NULL if the respective entry does not exist and on error. |
64 | ||
7df56ada DDO |
65 | OSSL_CMP_MSG_get_bodytype() returns the body type or -1 on error. |
66 | ||
593d6554 DDO |
67 | OSSL_CMP_CTX_setup_CRM() returns a pointer to a OSSL_CRMF_MSG on success, |
68 | NULL on error. | |
69 | ||
ae8483d2 | 70 | d2i_OSSL_CMP_MSG_bio() returns the parsed message or NULL on error. |
62dcd2aa | 71 | |
fafa56a1 DDO |
72 | OSSL_CMP_MSG_read() and d2i_OSSL_CMP_MSG_bio() |
73 | return the parsed CMP message or NULL on error. | |
74 | ||
1202de44 DDO |
75 | OSSL_CMP_MSG_write() and i2d_OSSL_CMP_MSG_bio() return |
76 | the number of bytes successfully encoded or a negative value if an error occurs. | |
77 | ||
78 | OSSL_CMP_MSG_update_transactionID() returns 1 on success, 0 on error. | |
62dcd2aa | 79 | |
3dbc5156 DDO |
80 | =head1 HISTORY |
81 | ||
82 | The OpenSSL CMP support was added in OpenSSL 3.0. | |
83 | ||
84 | =head1 COPYRIGHT | |
85 | ||
4333b89f | 86 | Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved. |
3dbc5156 DDO |
87 | |
88 | Licensed under the Apache License 2.0 (the "License"). You may not use | |
89 | this file except in compliance with the License. You can obtain a copy | |
90 | in the file LICENSE in the source distribution or at | |
91 | L<https://www.openssl.org/source/license.html>. | |
92 | ||
93 | =cut |