Bouncy Castle Cryptography Library 1.77.0

org.bouncycastle.asn1
Interface ASN1Choice

All Known Implementing Classes:
ObjectStoreIntegrityCheck, OtherStatusInfo, CMCStatusInfo.OtherInfo, TaggedRequest, BodyPartReference, CMPCertificate, PKIBody, CertOrEncCert, CRLSource, KeyAgreeRecipientIdentifier, SignerIdentifier, Evidence, RecipientIdentifier, Time, RecipientInfo, OriginatorIdentifierOrKey, ProofOfPossession, POPOPrivKey, PKIArchiveOptions, EncryptedKey, CertEtcToken, Data, DVCSResponse, DVCSTime, OtherHash, AttrOrOID, RequestedCertificate, DeclarationOfMajority, ResponderID, CertStatus, DirectoryString, X500Name, DisplayText, Time, DistributionPointName, GeneralName, AttCertIssuer, Target, TypeOfBiometricData, Iso4217CurrencyCode, NameOrPseudonym, X962Parameters

public interface ASN1Choice

Marker interface for CHOICE objects - if you implement this in a role your own object any attempt to tag the object implicitly will convert the tag to an explicit one as the encoding rules require.

If you use this interface your class should also implement the getInstance() pattern which takes a tag object and the tagging mode used.

X.690

8: Basic encoding rules

8.13 Encoding of a choice value

The encoding of a choice value shall be the same as the encoding of a value of the chosen type. NOTE 1 — The encoding may be primitive or constructed depending on the chosen type. NOTE 2 — The tag used in the identifier octets is the tag of the chosen type, as specified in the ASN.1 definition of the choice type.



Bouncy Castle Cryptography Library 1.77.0