1 | /* |
---|---|
2 | * Copyright 2016 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 | |
10 | struct PKCS12_MAC_DATA_st { |
11 | X509_SIG *dinfo; |
12 | ASN1_OCTET_STRING *salt; |
13 | ASN1_INTEGER *iter; /* defaults to 1 */ |
14 | }; |
15 | |
16 | struct PKCS12_st { |
17 | ASN1_INTEGER *version; |
18 | PKCS12_MAC_DATA *mac; |
19 | PKCS7 *authsafes; |
20 | }; |
21 | |
22 | struct PKCS12_SAFEBAG_st { |
23 | ASN1_OBJECT *type; |
24 | union { |
25 | struct pkcs12_bag_st *bag; /* secret, crl and certbag */ |
26 | struct pkcs8_priv_key_info_st *keybag; /* keybag */ |
27 | X509_SIG *shkeybag; /* shrouded key bag */ |
28 | STACK_OF(PKCS12_SAFEBAG) *safes; |
29 | ASN1_TYPE *other; |
30 | } value; |
31 | STACK_OF(X509_ATTRIBUTE) *attrib; |
32 | }; |
33 | |
34 | struct pkcs12_bag_st { |
35 | ASN1_OBJECT *type; |
36 | union { |
37 | ASN1_OCTET_STRING *x509cert; |
38 | ASN1_OCTET_STRING *x509crl; |
39 | ASN1_OCTET_STRING *octet; |
40 | ASN1_IA5STRING *sdsicert; |
41 | ASN1_TYPE *other; /* Secret or other bag */ |
42 | } value; |
43 | }; |
44 |