Top Interfaces Classes
[default module]

Package org.bouncycastle.asn1.cmc


Interface Summary

Modifier and TypeInterface and Description
public interface
CMCObjectIdentifiers

Object Identifiers from RFC 5272

Class Summary

Modifier and TypeClass and Description
public class
BodyPartID

      bodyIdMax INTEGER ::= 4294967295

      BodyPartID ::= INTEGER(0..bodyIdMax)
public class
BodyPartList

  BodyPartList ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
public class
BodyPartPath

   BodyPartPath ::= SEQUENCE SIZE (1..MAX) OF BodyPartID
public class
BodyPartReference

BodyPartReference ::= CHOICE {
   bodyPartID           BodyPartID,
   bodyPartPath         BodyPartPath
}
public class
CertificationRequest

  CertificationRequest ::= SEQUENCE {
    certificationRequestInfo  SEQUENCE {
      version                   INTEGER,
      subject                   Name,
      subjectPublicKeyInfo      SEQUENCE {
         algorithm                 AlgorithmIdentifier,
         subjectPublicKey          BIT STRING },
      attributes                [0] IMPLICIT SET OF Attribute },
   signatureAlgorithm        AlgorithmIdentifier,
   signature                 BIT STRING
 }
public class
CMCFailInfo

CMCFailInfo ::= INTEGER {
    badAlg          (0),
    badMessageCheck (1),
    badRequest      (2),
    badTime         (3),
    badCertId       (4),
    unsupportedExt  (5),
    mustArchiveKeys (6),
    badIdentity     (7),
    popRequired     (8),
    popFailed       (9),
    noKeyReuse      (10),
    internalCAError (11),
    tryLater        (12),
    authDataFail    (13)
}
public class
CMCPublicationInfo

      CMCPublicationInfo ::= SEQUENCE {
           hashAlg                      AlgorithmIdentifier,
           certHashes                   SEQUENCE OF OCTET STRING,
           pubInfo                      PKIPublicationInfo
 }

public class
CMCStatus

	
CMCStatus ::= INTEGER {
   success         (0),
   failed          (2),
   pending         (3),
   noSupport       (4),
   confirmRequired (5),
   popRequired     (6),
   partial         (7)
}
public class
CMCStatusInfo

-- Used to return status state in a response

id-cmc-statusInfo OBJECT IDENTIFIER ::= {id-cmc 1}

CMCStatusInfo ::= SEQUENCE {
    cMCStatus       CMCStatus,
    bodyList        SEQUENCE SIZE (1..MAX) OF BodyPartID,
    statusString    UTF8String OPTIONAL,
    otherInfo        CHOICE {
      failInfo         CMCFailInfo,
      pendInfo         PendInfo } OPTIONAL
}
public class
public class
CMCStatusInfoV2

--  Replaces CMC Status Info
--

id-cmc-statusInfoV2 OBJECT IDENTIFIER ::= {id-cmc 25}

CMCStatusInfoV2 ::= SEQUENCE {
 cMCStatus             CMCStatus,
 bodyList              SEQUENCE SIZE (1..MAX) OF BodyPartReference,
 statusString          UTF8String OPTIONAL,
 otherStatusInfo             OtherStatusInfo OPTIONAL
}

OtherStatusInfo ::= CHOICE {
 failInfo              CMCFailInfo,
 pendInfo              PendInfo,
 extendedFailInfo      ExtendedFailInfo
}

PendInfo ::= SEQUENCE {
pendToken           OCTET STRING,
pendTime            GeneralizedTime
}

ExtendedFailInfo ::= SEQUENCE {
failInfoOID            OBJECT IDENTIFIER,
failInfoValue          ANY DEFINED BY failInfoOID
}
public class
public class
CMCUnsignedData

     id-aa-cmc-unsignedData OBJECT IDENTIFIER ::= {id-aa 34}

     CMCUnsignedData ::= SEQUENCE {
            bodyPartPath        BodyPartPath,
            identifier          OBJECT IDENTIFIER,
            content             ANY DEFINED BY identifier
     }
public class
ControlsProcessed

-- Inform follow on servers that one or more controls have already been
-- processed

id-cmc-controlProcessed OBJECT IDENTIFIER ::= {id-cmc 32}

ControlsProcessed ::= SEQUENCE {
    bodyList              SEQUENCE SIZE(1..MAX) OF BodyPartReference
}
public class
DecryptedPOP

     id-cmc-decryptedPOP OBJECT IDENTIFIER ::= {id-cmc 10}

      DecryptedPOP ::= SEQUENCE {
           bodyPartID      BodyPartID,
           thePOPAlgID     AlgorithmIdentifier,
           thePOP          OCTET STRING
      }
public class
EncryptedPOP

     id-cmc-encryptedPOP OBJECT IDENTIFIER ::= {id-cmc 9}

     EncryptedPOP ::= SEQUENCE {
             request       TaggedRequest,
             cms             ContentInfo,
             thePOPAlgID     AlgorithmIdentifier,
             witnessAlgID    AlgorithmIdentifier,
             witness         OCTET STRING
     }
public class
ExtendedFailInfo

ExtendedFailInfo ::= SEQUENCE { failInfoOID OBJECT IDENTIFIER, failInfoValue ANY DEFINED BY failInfoOID }

public class
ExtensionReq

  ExtensionReq ::= SEQUENCE SIZE (1..MAX) OF Extension
public class
GetCert

     id-cmc-getCert OBJECT IDENTIFIER ::= {id-cmc 15}

     GetCert ::= SEQUENCE {
          issuerName      GeneralName,
          serialNumber    INTEGER }
public class
GetCRL

id-cmc-getCRL OBJECT IDENTIFIER ::= {id-cmc 16}

GetCRL ::= SEQUENCE {
   issuerName    Name,
   cRLName       GeneralName OPTIONAL,
   time          GeneralizedTime OPTIONAL,
   reasons       ReasonFlags OPTIONAL }
public class
IdentityProofV2

     id-cmc-identityProofV2 OBJECT IDENTIFIER ::= { id-cmc 34 }
     identityProofV2 ::= SEQUENCE {
         proofAlgID       AlgorithmIdentifier,
         macAlgId         AlgorithmIdentifier,
         witness          OCTET STRING
     }
public class
LraPopWitness

id-cmc-lraPOPWitness OBJECT IDENTIFIER ::= {id-cmc 11}

LraPopWitness ::= SEQUENCE {
    pkiDataBodyid   BodyPartID,
    bodyIds         SEQUENCE OF BodyPartID
}
public class
ModCertTemplate

id-cmc-modCertTemplate OBJECT IDENTIFIER ::= {id-cmc 31}

ModCertTemplate ::= SEQUENCE {
   pkiDataReference             BodyPartPath,
   certReferences               BodyPartList,
   replace                      BOOLEAN DEFAULT TRUE,
   certTemplate                 CertTemplate
}
public class
OtherMsg

OtherMsg ::= SEQUENCE {
    bodyPartID        BodyPartID,
    otherMsgType      OBJECT IDENTIFIER,
    otherMsgValue     ANY DEFINED BY otherMsgType }
public class
OtherStatusInfo

Other info implements the choice component of CMCStatusInfoV2.

public class
PendInfo

PendInfo ::= SEQUENCE {
   pendToken        OCTET STRING,
   pendTime         GeneralizedTime
}
public class
PKIData

PKIData ::= SEQUENCE {
controlSequence    SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
reqSequence        SEQUENCE SIZE(0..MAX) OF TaggedRequest,
cmsSequence        SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
otherMsgSequence   SEQUENCE SIZE(0..MAX) OF OtherMsg
}
public class
PKIResponse

   --  This defines the response message in the protocol
 id-cct-PKIResponse OBJECT IDENTIFIER ::= { id-cct 3 }

ResponseBody ::= PKIResponse

PKIResponse ::= SEQUENCE {
    controlSequence   SEQUENCE SIZE(0..MAX) OF TaggedAttribute,
    cmsSequence       SEQUENCE SIZE(0..MAX) OF TaggedContentInfo,
    otherMsgSequence  SEQUENCE SIZE(0..MAX) OF OtherMsg
}
public class
PopLinkWitnessV2

     id-cmc-popLinkWitnessV2 OBJECT IDENTIFIER ::= { id-cmc 33 }
     PopLinkWitnessV2 ::= SEQUENCE {
          keyGenAlgorithm   AlgorithmIdentifier,
          macAlgorithm      AlgorithmIdentifier,
          witness           OCTET STRING
     }
public class
PublishTrustAnchors

	
PublishTrustAnchors ::= SEQUENCE {
    seqNumber      INTEGER,
    hashAlgorithm  AlgorithmIdentifier,
    anchorHashes     SEQUENCE OF OCTET STRING
}
public class
RevokeRequest

RevokeRequest ::= SEQUENCE {
    issuerName            Name,
    serialNumber          INTEGER,
    reason                CRLReason,
    invalidityDate         GeneralizedTime OPTIONAL,
    passphrase            OCTET STRING OPTIONAL,
    comment               UTF8String OPTIONAL }
public class
TaggedAttribute

TaggedAttribute from RFC5272

TaggedAttribute ::= SEQUENCE {
bodyPartID         BodyPartID,
attrType           OBJECT IDENTIFIER,
attrValues         SET OF AttributeValue
}
public class
TaggedCertificationRequest

      TaggedCertificationRequest ::= SEQUENCE {
                 bodyPartID            BodyPartID,
                 certificationRequest  CertificationRequest
      }
public class
TaggedContentInfo

TaggedContentInfo ::= SEQUENCE {
      bodyPartID              BodyPartID,
      contentInfo             ContentInfo
}
public class
TaggedRequest

      TaggedRequest ::= CHOICE {
            tcr               [0] TaggedCertificationRequest,
            crm               [1] CertReqMsg,
            orm               [2] SEQUENCE {
            bodyPartID            BodyPartID,
            requestMessageType    OBJECT IDENTIFIER,
            requestMessageValue   ANY DEFINED BY requestMessageType
     }
 }
pack-priv class