0fe17491c3
To avoid possible race conditions don't switch password format using global state in crypto/pkcs12 Reviewed-by: Richard Levitte <levitte@openssl.org>
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/*
|
|
* Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
struct PKCS12_MAC_DATA_st {
|
|
X509_SIG *dinfo;
|
|
ASN1_OCTET_STRING *salt;
|
|
ASN1_INTEGER *iter; /* defaults to 1 */
|
|
};
|
|
|
|
struct PKCS12_st {
|
|
ASN1_INTEGER *version;
|
|
PKCS12_MAC_DATA *mac;
|
|
PKCS7 *authsafes;
|
|
};
|
|
|
|
struct PKCS12_SAFEBAG_st {
|
|
ASN1_OBJECT *type;
|
|
union {
|
|
struct pkcs12_bag_st *bag; /* secret, crl and certbag */
|
|
struct pkcs8_priv_key_info_st *keybag; /* keybag */
|
|
X509_SIG *shkeybag; /* shrouded key bag */
|
|
STACK_OF(PKCS12_SAFEBAG) *safes;
|
|
ASN1_TYPE *other;
|
|
} value;
|
|
STACK_OF(X509_ATTRIBUTE) *attrib;
|
|
};
|
|
|
|
struct pkcs12_bag_st {
|
|
ASN1_OBJECT *type;
|
|
union {
|
|
ASN1_OCTET_STRING *x509cert;
|
|
ASN1_OCTET_STRING *x509crl;
|
|
ASN1_OCTET_STRING *octet;
|
|
ASN1_IA5STRING *sdsicert;
|
|
ASN1_TYPE *other; /* Secret or other bag */
|
|
} value;
|
|
};
|