Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* Copyright (C) Microsoft Corporation, 1996-1999. All rights reserved. */ /* ASN.1 definitions for PFXNSCP */
#ifndef _PFXNSCP_Module_H_
#define _PFXNSCP_Module_H_
#include "msber.h"
#ifdef __cplusplus
extern "C" { #endif
typedef ASN1objectidentifier2_t ObjectID;
typedef ASN1objectidentifier2_t ObjID;
typedef ASN1int32_t Version; #define Version_v1 1
typedef ObjectID ContentType;
typedef ASN1octetstring_t RSAData; #define RSAData_PDU 0
#define SIZE_PFXNSCP_Module_PDU_0 sizeof(RSAData)
typedef ASN1open_t Attribute;
typedef ASN1octetstring_t EncryptedContent;
typedef ASN1octetstring_t Digest;
typedef ObjID TransportMode;
typedef struct BaggageItem_unencryptedSecrets { ASN1uint32_t count; struct SafeBag *value; } BaggageItem_unencryptedSecrets;
typedef struct BaggageItem_espvks { ASN1uint32_t count; struct ESPVK *value; } BaggageItem_espvks;
typedef struct ContentInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ContentType contentType; # define content_present 0x80
ASN1open_t content; } ContentInfo;
typedef struct Attributes { ASN1uint32_t count; Attribute *value; } Attributes; #define Attributes_PDU 1
#define SIZE_PFXNSCP_Module_PDU_1 sizeof(Attributes)
typedef struct AlgorithmIdentifier { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ObjectID algorithm; # define parameters_present 0x80
ASN1open_t parameters; } AlgorithmIdentifier;
typedef struct PBEParameter { ASN1octetstring_t salt; ASN1int32_t iterationCount; } PBEParameter; #define PBEParameter_PDU 2
#define SIZE_PFXNSCP_Module_PDU_2 sizeof(PBEParameter)
typedef AlgorithmIdentifier DigestAlgorithmIdentifier;
typedef struct Baggage { ASN1uint32_t count; struct BaggageItem *value; } Baggage;
typedef struct BaggageItem { BaggageItem_espvks espvks; BaggageItem_unencryptedSecrets unencryptedSecrets; } BaggageItem;
typedef struct PvkAdditional { ObjID pvkAdditionalType; ASN1open_t pvkAdditionalContent; } PvkAdditional; #define PvkAdditional_PDU 3
#define SIZE_PFXNSCP_Module_PDU_3 sizeof(PvkAdditional)
typedef struct SafeContents { ASN1uint32_t count; struct SafeBag *value; } SafeContents; #define SafeContents_PDU 4
#define SIZE_PFXNSCP_Module_PDU_4 sizeof(SafeContents)
typedef struct SafeBag { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ObjID safeBagType; ASN1open_t safeBagContent; # define safeBagName_present 0x80
ASN1char16string_t safeBagName; } SafeBag; #define SafeBag_PDU 5
#define SIZE_PFXNSCP_Module_PDU_5 sizeof(SafeBag)
typedef struct KeyBag { ASN1uint32_t count; struct PrivateKey *value; } KeyBag; #define KeyBag_PDU 6
#define SIZE_PFXNSCP_Module_PDU_6 sizeof(KeyBag)
typedef struct CertCRLBag { ASN1uint32_t count; struct CertCRL *value; } CertCRLBag; #define CertCRLBag_PDU 7
#define SIZE_PFXNSCP_Module_PDU_7 sizeof(CertCRLBag)
typedef struct CertCRL { ObjID bagId; ASN1open_t value; } CertCRL; #define CertCRL_PDU 8
#define SIZE_PFXNSCP_Module_PDU_8 sizeof(CertCRL)
typedef struct X509Bag { ContentInfo certOrCRL; } X509Bag; #define X509Bag_PDU 9
#define SIZE_PFXNSCP_Module_PDU_9 sizeof(X509Bag)
typedef struct SDSICertBag { ASN1ztcharstring_t value; } SDSICertBag; #define SDSICertBag_PDU 10
#define SIZE_PFXNSCP_Module_PDU_10 sizeof(SDSICertBag)
typedef struct SecretBag { ASN1uint32_t count; struct Secret *value; } SecretBag; #define SecretBag_PDU 11
#define SIZE_PFXNSCP_Module_PDU_11 sizeof(SecretBag)
typedef struct SecretAdditional { ObjID secretAdditionalType; ASN1open_t secretAdditionalContent; } SecretAdditional; #define SecretAdditional_PDU 12
#define SIZE_PFXNSCP_Module_PDU_12 sizeof(SecretAdditional)
typedef AlgorithmIdentifier PrivateKeyAlgorithmIdentifier;
typedef AlgorithmIdentifier EncryptionAlgorithmIdentifier;
typedef AlgorithmIdentifier ContentEncryptionAlgorithmIdentifier;
typedef struct DigestInfo { DigestAlgorithmIdentifier digestAlgorithm; Digest digest; } DigestInfo;
typedef struct MacData { DigestInfo safeMAC; ASN1bitstring_t macSalt; } MacData;
typedef struct AuthenticatedSafe { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define version_present 0x80
Version version; # define transportMode_present 0x40
TransportMode transportMode; # define privacySalt_present 0x20
ASN1bitstring_t privacySalt; # define baggage_present 0x10
Baggage baggage; ContentInfo safe; } AuthenticatedSafe; #define AuthenticatedSafe_PDU 13
#define SIZE_PFXNSCP_Module_PDU_13 sizeof(AuthenticatedSafe)
typedef DigestInfo Thumbprint;
typedef struct Secret { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ASN1char16string_t secretName; ObjID secretType; ASN1open_t value; # define secretAdditional_present 0x80
SecretAdditional secretAdditional; } Secret; #define Secret_PDU 14
#define SIZE_PFXNSCP_Module_PDU_14 sizeof(Secret)
typedef struct PVKSupportingData_assocCerts { ASN1uint32_t count; Thumbprint *value; } PVKSupportingData_assocCerts;
typedef struct PrivateKeyInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; Version version; PrivateKeyAlgorithmIdentifier privateKeyAlgorithm; ASN1octetstring_t privateKey; # define attributes_present 0x80
Attributes attributes; } PrivateKeyInfo; #define PrivateKeyInfo_PDU 15
#define SIZE_PFXNSCP_Module_PDU_15 sizeof(PrivateKeyInfo)
typedef struct EncryptedContentInfo { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; ContentType contentType; ContentEncryptionAlgorithmIdentifier contentEncryptionAlg; # define encryptedContent_present 0x80
EncryptedContent encryptedContent; } EncryptedContentInfo;
typedef struct PFX { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; # define macData_present 0x80
MacData macData; ContentInfo authSafe; } PFX; #define PFX_PDU 16
#define SIZE_PFXNSCP_Module_PDU_16 sizeof(PFX)
typedef struct PVKSupportingData { union { ASN1uint16_t bit_mask; ASN1octet_t o[1]; }; PVKSupportingData_assocCerts assocCerts; # define regenerable_present 0x80
ASN1bool_t regenerable; ASN1char16string_t nickname; # define pvkAdditional_present 0x40
PvkAdditional pvkAdditional; } PVKSupportingData; #define PVKSupportingData_PDU 17
#define SIZE_PFXNSCP_Module_PDU_17 sizeof(PVKSupportingData)
typedef struct PrivateKey { PVKSupportingData pvkData; PrivateKeyInfo pkcs8data; } PrivateKey; #define PrivateKey_PDU 18
#define SIZE_PFXNSCP_Module_PDU_18 sizeof(PrivateKey)
typedef struct EncryptedData { Version version; EncryptedContentInfo encryptedContentInfo; } EncryptedData; #define EncryptedData_PDU 19
#define SIZE_PFXNSCP_Module_PDU_19 sizeof(EncryptedData)
typedef struct ESPVK { ObjID espvkObjID; PVKSupportingData espvkData; ASN1open_t espvkCipherText; } ESPVK; #define ESPVK_PDU 20
#define SIZE_PFXNSCP_Module_PDU_20 sizeof(ESPVK)
typedef struct EncryptedPrivateKeyInfo { EncryptionAlgorithmIdentifier encryptionAlgorithm; EncryptedData encryptedData; } EncryptedPrivateKeyInfo; #define EncryptedPrivateKeyInfo_PDU 21
#define SIZE_PFXNSCP_Module_PDU_21 sizeof(EncryptedPrivateKeyInfo)
extern ASN1bool_t PVKSupportingData_regenerable_default; extern Version AuthenticatedSafe_version_default; extern ASN1objectidentifier2_t rsa1; extern ASN1objectidentifier2_t pkcs_12; extern ASN1objectidentifier2_t pkcs_12ModeIds; extern ASN1objectidentifier2_t off_lineTransportMode;
extern ASN1module_t PFXNSCP_Module; extern void ASN1CALL PFXNSCP_Module_Startup(void); extern void ASN1CALL PFXNSCP_Module_Cleanup(void);
/* Prototypes of element functions for SEQUENCE OF and SET OF constructs */
#ifdef __cplusplus
} /* extern "C" */ #endif
#endif /* _PFXNSCP_Module_H_ */
|