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