[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SCVP Draft 17: Summary of changes
Seth Hitchings wrote:
If you do decide to put together another draft to address some of the
aesthetic issues, I'd like to see some of the tagging oddities (skipping
from 4 to 6, for example) addressed.
Several people have now commented stating that they believe it is
important to modify the ASN.1 in SCVP so that explicit tags are
sequential, etc.
So, Tim and I went through the document and made changes to the ASN.1 as
follows:
(1) We renumbered explicit tags wherever there was a gap in the sequence
in draft 17.
(2) We removed the explicit tagging where it was clear that the explicit
tagging was not necessary.
(3) We defined DEFAULT values for several of the INTEGER and ENUMERATED
values when defining a default value could be done without affecting the
ASN.1 for any other fields.
I plan to submit draft 18 later today. Below is a copy of all of the
ASN.1 structures that have been changed since draft 17 (at least, I
believe that this is all of them).
Dave
-----------------------------------------------------------------------------------
CVRequest ::= SEQUENCE {
cvRequestVersion INTEGER DEFAULT 1,
query Query,
requestorRef [0] SEQUENCE SIZE (1..MAX) OF OCTET STRING
OPTIONAL,
requestNonce [1] OCTET STRING OPTIONAL,
requestorName [2] GeneralName OPTIONAL,
reqestExtensions [3] Extensions OPTIONAL }
ValidationPolicy ::= SEQUENCE {
validationPolRef ValidationPolRef,
validationAlg [0] ValidationAlg OPTIONAL,
userPolicySet [1] SEQUENCE SIZE (1..MAX) OF OBJECT
IDENTIFIER OPTIONAL,
inhibitPolicyMapping [2] BOOLEAN OPTIONAL,
requireExplicitPolicy [3] BOOLEAN OPTIONAL,
inhibitAnyPolicy [4] BOOLEAN OPTIONAL,
trustAnchors [5] TrustAnchors OPTIONAL,
keyUsages [6] KeyUsages OPTIONAL,
extendedKeyUsages [7] SEQUENCE OF KeyPurposeId OPTIONAL }
CVResponse ::= SEQUENCE {
cvResponseVersion INTEGER,
policyID INTEGER,
producedAt GeneralizedTime,
responseStatus ResponseStatus,
respValidationPolicy [0] RespValidationPolicy OPTIONAL,
requestRef [1] RequestReference OPTIONAL,
requestorRef [2] SEQUENCE SIZE (1..MAX) OF OCTET STRING
OPTIONAL,
requestorName [3] GeneralNames OPTIONAL,
replyObjects [4] ReplyObjects OPTIONAL,
respNonce [5] OCTET STRING OPTIONAL,
serverContextInfo [6] OCTET STRING OPTIONAL,
cvResponseExtensions [7] Extensions OPTIONAL }
ResponseStatus ::= SEQUENCE {
statusCode CVStatusCode DEFAULT okay,
errorMessage UTF8String OPTIONAL }
CertReply ::= SEQUENCE {
cert CertReference,
replyStatus ReplyStatus DEFAULT success,
replyValTime GeneralizedTime,
replyChecks ReplyChecks,
replyWantBacks ReplyWantBacks,
validationErrors [0] SEQUENCE SIZE (1..MAX) OF
OBJECT IDENTIFIER OPTIONAL,
nextUpdate [1] GeneralizedTime OPTIONAL,
certReplyExtensions [2] Extensions OPTIONAL }
ReplyCheck ::= SEQUENCE {
check OBJECT IDENTIFIER,
status INTEGER DEFAULT 0 }
ValPolRequest ::= SEQUENCE {
vpRequestVersion INTEGER DEFAULT 1,
requestNonce OCTET STRING }
ValPolResponse ::= SEQUENCE {
vpResponseVersion INTEGER,
maxCVResponseVersion INTEGER,
maxVPResponseVersion INTEGER,
defaultPolicyID INTEGER,
thisUpdate GeneralizedTime,
nextUpdate GeneralizedTime OPTIONAL,
validationPolices SEQUENCE OF ValidationPolRef,
validationAlgs SEQUENCE OF OBJECT IDENTIFIER,
authPolicies SEQUENCE OF AuthPolicy,
responseTypes ResponseTypes,
defaultPolicyValues RespValidationPolicy,
revocationInfoTypes RevocationInfoTypes,
serverPublicKeys SEQUENCE OF KeyAgreePublicKey
OPTIONAL,
clockSkew INTEGER DEFAULT 10,
requestNonce OCTET STRING OPTIONAL }
AuthPolicy ::= CHOICE {
authPolRefByOID OBJECT IDENTIFIER,
authPolRefByURI IA5String }