202 lines
5.1 KiB
Plaintext
202 lines
5.1 KiB
Plaintext
|
--#comment "Copyright (C) Microsoft Corporation, 1996-1999. All rights reserved."--
|
||
|
--#comment "ASN.1 definitions for PFXNSCP"--
|
||
|
|
||
|
--#oid array-- -- object identifier is 16-node fixed array
|
||
|
--#SS.basic lenptr-- -- set of and sequence of w/o size constraint
|
||
|
--#SS.sized lenptr-- -- set of and sequence of w/ size constraint
|
||
|
|
||
|
PFXNSCP
|
||
|
DEFINITIONS IMPLICIT TAGS ::=
|
||
|
BEGIN
|
||
|
|
||
|
-------------------------------
|
||
|
-- shorthand
|
||
|
ObjectID ::= OBJECT IDENTIFIER --#oid array--
|
||
|
ObjID ::= OBJECT IDENTIFIER
|
||
|
Version ::= INTEGER {v1 (1)}
|
||
|
|
||
|
-------------------------------
|
||
|
-- from PKCS #7
|
||
|
ContentType ::= ObjectID
|
||
|
|
||
|
ContentInfo ::= SEQUENCE {
|
||
|
contentType ContentType,
|
||
|
content [0] EXPLICIT ANY OPTIONAL
|
||
|
}
|
||
|
|
||
|
RSAData ::= OCTET STRING --#public--
|
||
|
|
||
|
-------------------------------
|
||
|
-- from PKCS #8
|
||
|
|
||
|
PrivateKeyInfo ::= SEQUENCE {
|
||
|
version Version,
|
||
|
privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
|
||
|
privateKey OCTET STRING,
|
||
|
attributes [0] IMPLICIT Attributes OPTIONAL
|
||
|
} --#public--
|
||
|
|
||
|
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
|
||
|
Attributes ::= SET --#public-- OF Attribute
|
||
|
Attribute ::= ANY
|
||
|
|
||
|
|
||
|
EncryptedPrivateKeyInfo ::= SEQUENCE {
|
||
|
encryptionAlgorithm EncryptionAlgorithmIdentifier,
|
||
|
encryptedData EncryptedData
|
||
|
} --#public--
|
||
|
|
||
|
EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
|
||
|
|
||
|
EncryptedData ::= SEQUENCE {
|
||
|
version Version,
|
||
|
encryptedContentInfo EncryptedContentInfo
|
||
|
} --#public--
|
||
|
|
||
|
EncryptedContentInfo ::= SEQUENCE {
|
||
|
contentType ContentType,
|
||
|
contentEncryptionAlg ContentEncryptionAlgorithmIdentifier,
|
||
|
encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
|
||
|
}
|
||
|
|
||
|
ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
|
||
|
EncryptedContent ::= OCTET STRING
|
||
|
|
||
|
-------------------------------
|
||
|
-- other pkcs
|
||
|
AlgorithmIdentifier ::= SEQUENCE {
|
||
|
algorithm ObjectID,
|
||
|
parameters ANY DEFINED BY algorithm OPTIONAL
|
||
|
}
|
||
|
|
||
|
PBEParameter ::= SEQUENCE {
|
||
|
salt OCTET STRING (SIZE(8)),
|
||
|
iterationCount INTEGER
|
||
|
} --#public--
|
||
|
|
||
|
DigestInfo ::= SEQUENCE {
|
||
|
digestAlgorithm DigestAlgorithmIdentifier,
|
||
|
digest Digest
|
||
|
}
|
||
|
|
||
|
DigestAlgorithmIdentifier ::= AlgorithmIdentifier
|
||
|
|
||
|
Digest ::= OCTET STRING
|
||
|
|
||
|
|
||
|
-------------------------------
|
||
|
-- imports
|
||
|
rsa1 ObjID ::= { iso(1) member-body(2) us(840) rsadsi(113549) }
|
||
|
pkcs-12 ObjID ::= { rsa1 pkcs(1) 12 }
|
||
|
|
||
|
-------------------------------
|
||
|
-- defines
|
||
|
TransportMode ::= ObjID
|
||
|
|
||
|
pkcs-12ModeIds ObjID ::= { pkcs-12 1 }
|
||
|
|
||
|
off-lineTransportMode ObjID ::= { pkcs-12ModeIds 1 }
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
PFX ::= SEQUENCE {
|
||
|
macData [0] MacData OPTIONAL,
|
||
|
authSafe [1] ContentInfo
|
||
|
-- signedData in public-key integrity mode, and
|
||
|
-- data in password integrity mode.
|
||
|
} --#public--
|
||
|
|
||
|
MacData ::= SEQUENCE {
|
||
|
safeMAC DigestInfo,
|
||
|
macSalt BIT STRING
|
||
|
}
|
||
|
|
||
|
AuthenticatedSafe ::= SEQUENCE {
|
||
|
version Version DEFAULT v1,
|
||
|
transportMode TransportMode DEFAULT off-lineTransportMode,
|
||
|
privacySalt BIT STRING OPTIONAL,
|
||
|
baggage Baggage OPTIONAL,
|
||
|
-- Not subject to
|
||
|
-- PFX encryption
|
||
|
safe ContentInfo
|
||
|
-- contentType is encryptedData in pwd privacy mode
|
||
|
-- and envelopedData in pub key privacy mode
|
||
|
} --#public--
|
||
|
|
||
|
Baggage ::= SET OF BaggageItem
|
||
|
|
||
|
BaggageItem ::= SEQUENCE {
|
||
|
espvks SET OF ESPVK,
|
||
|
unencryptedSecrets SET OF SafeBag
|
||
|
}
|
||
|
|
||
|
ESPVK ::= SEQUENCE {
|
||
|
espvkObjID ObjID,
|
||
|
espvkData PVKSupportingData,
|
||
|
espvkCipherText [0] EXPLICIT ANY DEFINED BY espvkObjID
|
||
|
} --#public--
|
||
|
|
||
|
PVKSupportingData ::= SEQUENCE {
|
||
|
assocCerts SET OF Thumbprint, -- zero or more
|
||
|
regenerable BOOLEAN DEFAULT FALSE,
|
||
|
nickname BMPString, -- unicode
|
||
|
pvkAdditional PvkAdditional OPTIONAL
|
||
|
} --#public--
|
||
|
|
||
|
Thumbprint ::= DigestInfo
|
||
|
|
||
|
PvkAdditional ::= SEQUENCE {
|
||
|
pvkAdditionalType ObjID,
|
||
|
pvkAdditionalContent [0] EXPLICIT ANY DEFINED BY pvkAdditionalType
|
||
|
} --#public--
|
||
|
|
||
|
SafeContents ::= SET --#public-- OF SafeBag
|
||
|
|
||
|
SafeBag ::= SEQUENCE {
|
||
|
safeBagType ObjID,
|
||
|
safeBagContent ANY DEFINED BY safeBagType,
|
||
|
safeBagName BMPString OPTIONAL
|
||
|
} --#public--
|
||
|
|
||
|
KeyBag ::= SET OF PrivateKey
|
||
|
|
||
|
PrivateKey ::= SEQUENCE {
|
||
|
pvkData PVKSupportingData,
|
||
|
pkcs8data PrivateKeyInfo -- import from PKCS #8
|
||
|
} --#public--
|
||
|
|
||
|
CertCRLBag ::= SET --#public-- OF CertCRL
|
||
|
|
||
|
CertCRL ::= SEQUENCE {
|
||
|
bagId ObjID,
|
||
|
value [0] EXPLICIT ANY DEFINED BY bagId
|
||
|
} --#public--
|
||
|
|
||
|
X509Bag ::= SEQUENCE {
|
||
|
certOrCRL ContentInfo
|
||
|
} --#public--
|
||
|
|
||
|
SDSICertBag ::= SEQUENCE {
|
||
|
value IA5String
|
||
|
} --#public--
|
||
|
|
||
|
SecretBag ::= SET OF Secret
|
||
|
|
||
|
Secret ::= SEQUENCE {
|
||
|
secretName BMPString, -- unicode
|
||
|
secretType ObjID, -- ADDED MATTT, won't compile as spec 0.020 reads
|
||
|
value ANY DEFINED BY secretType,
|
||
|
secretAdditional SecretAdditional OPTIONAL
|
||
|
} --#public--
|
||
|
|
||
|
SecretAdditional ::= SEQUENCE {
|
||
|
secretAdditionalType ObjID,
|
||
|
secretAdditionalContent [0] EXPLICIT ANY DEFINED BY secretAdditionalType
|
||
|
} --#public--
|
||
|
|
||
|
|
||
|
END
|