xref: /openssl/include/internal/crmf.h (revision 6a3579e1)
1 /*
2  * Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License 2.0 (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9 #ifndef OSSL_CRYPTO_CRMF_H
10 # define OSSL_CRYPTO_CRMF_H
11 # pragma once
12 
13 # include <openssl/crmf.h>
14 
15 struct ossl_crmf_attributetypeandvalue_st {
16     ASN1_OBJECT *type;
17     union {
18         /* NID_id_regCtrl_regToken */
19         ASN1_UTF8STRING *regToken;
20 
21         /* NID_id_regCtrl_authenticator */
22         ASN1_UTF8STRING *authenticator;
23 
24         /* NID_id_regCtrl_pkiPublicationInfo */
25         OSSL_CRMF_PKIPUBLICATIONINFO *pkiPublicationInfo;
26 
27         /* NID_id_regCtrl_oldCertID */
28         OSSL_CRMF_CERTID *oldCertID;
29 
30         /* NID_id_regCtrl_protocolEncrKey */
31         X509_PUBKEY *protocolEncrKey;
32 
33         /* NID_id_regCtrl_algId */
34         X509_ALGOR *algId;
35 
36         /* NID_id_regCtrl_rsaKeyLen */
37         ASN1_INTEGER *rsaKeyLen;
38 
39         /* NID_id_regInfo_utf8Pairs */
40         ASN1_UTF8STRING *utf8Pairs;
41 
42         /* NID_id_regInfo_certReq */
43         OSSL_CRMF_CERTREQUEST *certReq;
44 
45         ASN1_TYPE *other;
46     } value;
47 } /* OSSL_CRMF_ATTRIBUTETYPEANDVALUE */;
48 DECLARE_ASN1_FUNCTIONS(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)
49 DECLARE_ASN1_DUP_FUNCTION(OSSL_CRMF_ATTRIBUTETYPEANDVALUE)
50 
51 #endif /* OSSL_CRYPTO_CRMF_H */
52