-- ASN module extracted from ITU-T X.510 (10/2023)
CaSubscription {joint-iso-itu-t ds(5) module(1) caSubscription(45) 10}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS All
IMPORTS
Certificate, CertificateSerialNumber, CRLReason, Name
FROM PKI-Stub
{joint-iso-itu-t ds(5) module(1) pki-stub(999) 10}
Version
FROM Wrapper
{joint-iso-itu-t ds(5) module(1) wrapper(43) 10} WITH SUCCESSORS ;
CasubProt ::= CHOICE {
initReq [0] InitializationRec,
initAcc [1] InitializationAcc,
initRej [2] InitializationRej,
initAbt [3] InitializationAbort,
certSubscribeReq [4] CertSubscribeReq,
certSubscribeRsp [5] CertSubscribeRsp,
certUnsubscribeReq [6] CertUnsubscribeReq,
certUnsubscribeRsp [7] CertUnsubscribeRsp,
certReplaceReq [8] CertReplaceReq,
certReplaceRsp [9] CertReplaceRsp,
certUpdateReq [10] CertUpdateReq,
certUpdateRsp [11] CertUpdateRsp,
cAsubscribeAbort [12] CAsubscribeAbort,
... }
InitializationRec ::= SEQUENCE {
version Version,
... }
InitializationAcc ::= SEQUENCE {
version Version,
... }
InitializationRej ::= SEQUENCE {
diag ENUMERATED {
unsupportedVersion (0),
... },
... }
InitializationAbort ::= SEQUENCE {
diag ENUMERATED {
unsupportedVersion (0),
onlySingleVersionAllowed (1),
... },
... }
CertSubscribeReq ::= SEQUENCE {
invokeID InvokeID,
certs SEQUENCE (SIZE (1..MAX)) OF SEQUENCE {
subject Name,
serialNumber CertificateSerialNumber,
... },
... }
InvokeID ::= INTEGER (0..127)
CertSubscribeRsp ::= SEQUENCE {
invokeID InvokeID,
result CHOICE {
success [0] CertSubscribeOK,
failure [1] CertSubscribeErr,
... },
... }
CertSubscribeOK ::= SEQUENCE (SIZE (1..MAX)) OF CHOICE {
ok [0] SEQUENCE {
cert Certificate,
status CertStatus,
revokeReason CRLReason OPTIONAL,
... },
not-ok [1] SEQUENCE {
status CASP-CertStatusCode,
... },
... }
CertStatus ::= ENUMERATED {
good (0),
revoked (1),
on-hold (2),
expired (3),
... }
CASP-CertStatusCode ::= ENUMERATED {
noReason (1),
unknownCert (2),
... }
CertSubscribeErr ::= SEQUENCE {
code CASP-error,
... }
CertUnsubscribeReq ::= SEQUENCE {
invokeID InvokeID,
certs SEQUENCE (SIZE (1..MAX)) OF SEQUENCE {
subject Name,
serialNumber CertificateSerialNumber,
... },
... }
CertUnsubscribeRsp ::= SEQUENCE {
invokeID InvokeID,
result CHOICE {
success [0] CertUnsubscribeOK,
failure [1] CertUnsubscribeErr,
... },
... }
CertUnsubscribeOK ::= SEQUENCE (SIZE (1..MAX)) OF CHOICE {
ok [0] SEQUENCE {
subject Name,
serialNumber CertificateSerialNumber,
... },
not-ok [1] SEQUENCE {
status CASP-CertStatusCode,
... },
... }
CertUnsubscribeErr ::= SEQUENCE {
code CASP-error,
... }
CertReplaceReq ::= SEQUENCE {
invokeID InvokeID,
certs SEQUENCE (SIZE (1..MAX)) OF SEQUENCE {
old CertificateSerialNumber,
new Certificate,
... },
... }
CertReplaceRsp ::= SEQUENCE {
invokeID InvokeID,
result CHOICE {
success [0] CertReplaceOK,
failure [1] CertReplaceErr,
... },
... }
CertReplaceOK ::= SEQUENCE (SIZE (1..MAX)) OF CHOICE {
ok [0] SEQUENCE {
issuer Name,
serialNumber CertificateSerialNumber,
... },
not-ok [1] SEQUENCE {
status CASP-CertStatusCode,
... },
... }
CertReplaceErr ::= SEQUENCE {
code CASP-error,
... }
CertUpdateReq ::= SEQUENCE {
invokeID InvokeID,
certs SEQUENCE (SIZE (1..MAX)) OF SEQUENCE {
subject Name,
serialNumber CertificateSerialNumber,
certStatus CertStatus,
... },
... }
CertUpdateRsp ::= SEQUENCE {
invokeID InvokeID,
result CHOICE {
success [0] CertUpdateOK,
failure [1] CertUpdateErr,
... },
... }
CertUpdateOK ::= SEQUENCE (SIZE (1..MAX)) OF CHOICE {
ok [0] SEQUENCE {
subject Name,
serialNumber CertificateSerialNumber,
... },
not-ok [1] SEQUENCE {
status CASP-CertStatusCode,
... },
... }
CertUpdateErr ::= SEQUENCE {
code CASP-error,
... }
CAsubscribeAbort ::= SEQUENCE {
invokeID InvokeID,
reason CASP-error,
... }
CASP-error ::= ENUMERATED {
noReason (0),
unknownContentType (1),
unsupportedWLMPversion (2),
missingContent (3),
missingContentComponent (4),
invalidContentComponent (5),
sequenceError (6),
unknownSubject (7),
unknownCert (8),
... }
END -- CaSubsription