ASN1Object (Bouncy Castle Library 1.54 API Specification)
Date: 2015-12-29

org.bouncycastle.asn1

## Class ASN1Object

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object

- All Implemented Interfaces:
    ASN1Encodable, Encodable
  Direct Known Subclasses:
    AccessDescription, Accuracy, AdditionalInformationSyntax, Admissions, AdmissionSyntax, AlgorithmIdentifier, ASN1Primitive, AttCertIssuer, AttCertValidityPeriod, Attribute, Attribute, Attribute, AttributeCertificate, AttributeCertificateInfo, Attributes, AttributeTypeAndValue, AttributeTypeAndValue, AuthenticatedData, AuthenticatedSafe, AuthEnvelopedData, AuthorityInformationAccess, AuthorityKeyIdentifier, BasicConstraints, BasicOCSPResponse, BiometricData, CAKeyUpdAnnContent, CAST5CBCParameters, CCMParameters, CertBag, CertConfirmContent, CertEtcToken, CertHash, CertId, CertID, Certificate, CertificateBody, CertificateHolderAuthorization, CertificateList, CertificatePair, CertificatePolicies, CertificationRequest, CertificationRequestInfo, CertifiedKeyPair, CertOrEncCert, CertPolicyId, CertRepMessage, CertReqMessages, CertReqMsg, CertRequest, CertResponse, CertStatus, CertStatus, CertTemplate, Challenge, CMPCertificate, CMSAlgorithmProtection, CommitmentTypeIndication, CommitmentTypeQualifier, CompleteRevocationRefs, CompressedData, ContentHints, ContentIdentifier, ContentInfo, ContentInfo, Controls, CRLAnnContent, CRLBag, CRLDistPoint, CrlID, CrlIdentifier, CrlListID, CRLNumber, CrlOcspRef, CRLReason, CrlValidatedID, CscaMasterList, CVCertificate, CVCertificateRequest, Data, DataGroupHash, DeclarationOfMajority, DHDomainParameters, DHParameter, DHPublicKey, DHValidationParms, DigestedData, DigestInfo, DirectoryString, DisplayText, DistributionPoint, DistributionPointName, DomainParameters, DSAParameter, DSTU4145BinaryField, DSTU4145ECBinary, DSTU4145Params, DSTU4145PublicKey, DVCSCertInfo, DVCSErrorNotice, DVCSRequest, DVCSRequestInformation, DVCSResponse, DVCSTime, ECCCMSSharedInfo, ECGOST3410ParamSetParameters, ECPrivateKey, ECPrivateKeyStructure, ElGamalParameter, EncKeyWithID, EncryptedContentInfo, EncryptedData, EncryptedData, EncryptedKey, EncryptedPrivateKeyInfo, EncryptedValue, EncryptionScheme, EnvelopedData, ErrorMsgContent, ESSCertID, ESSCertIDv2, Evidence, ExtendedKeyUsage, Extension, Extensions, GCMParameters, GeneralName, GeneralNames, GeneralSubtree, GenericHybridParameters, GenMsgContent, GenRepContent, GMSSPrivateKey, GMSSPublicKey, GOST28147Parameters, GOST3410ParamSetParameters, GOST3410PublicKeyAlgParameters, Holder, IDEACBCPar, IetfAttrSyntax, InfoTypeAndValue, Iso4217CurrencyCode, IssuerAndSerialNumber, IssuerAndSerialNumber, IssuerSerial, IssuingDistributionPoint, KEKIdentifier, KEKRecipientInfo, KeyAgreeRecipientIdentifier, KeyAgreeRecipientInfo, KeyDerivationFunc, KeyPurposeId, KeyRecRepContent, KeySpecificInfo, KeyTransRecipientInfo, KeyUsage, LDSSecurityObject, LDSVersionInfo, MacData, McElieceCCA2PrivateKey, McElieceCCA2PublicKey, McEliecePrivateKey, McEliecePublicKey, MessageImprint, MetaData, MonetaryLimit, MonetaryValue, MQVuserKeyingMaterial, NameConstraints, NameOrPseudonym, NamingAuthority, NetscapeCertRequest, NoticeReference, ObjectDigestInfo, OcspIdentifier, OcspListID, OCSPRequest, OCSPResponse, OcspResponsesID, OCSPResponseStatus, OOBCertHash, OptionalValidity, OriginatorIdentifierOrKey, OriginatorInfo, OriginatorPublicKey, OtherCertID, OtherHash, OtherHashAlgAndValue, OtherInfo, OtherKeyAttribute, OtherRecipientInfo, OtherRevocationInfoFormat, OtherRevRefs, OtherRevVals, OtherSigningCertificate, ParSet, PasswordRecipientInfo, PathProcInput, PBEParameter, PBES2Parameters, PBKDF2Params, PBMParameter, PersonalData, Pfx, PKCS12PBEParams, PKIArchiveOptions, PKIBody, PKIConfirmContent, PKIFreeText, PKIHeader, PKIMessage, PKIMessages, PKIPublicationInfo, PKIStatus, PKIStatusInfo, PKMACValue, PolicyConstraints, PolicyInformation, PolicyMappings, PolicyQualifierInfo, PollRepContent, PollReqContent, POPODecKeyChallContent, POPODecKeyRespContent, POPOPrivKey, POPOSigningKey, POPOSigningKeyInput, PrivateKeyInfo, PrivateKeyUsagePeriod, ProcurationSyntax, ProfessionInfo, ProofOfPossession, ProtectedPart, PublicKeyAndChallenge, PublicKeyDataObject, QCStatement, RainbowPrivateKey, RainbowPublicKey, RC2CBCParameter, RDN, RecipientEncryptedKey, RecipientIdentifier, RecipientInfo, RecipientKeyIdentifier, Request, RequestedCertificate, ResponderID, ResponseBytes, ResponseData, Restriction, RevAnnContent, RevDetails, RevocationValues, RevokedInfo, RevRepContent, RevReqContent, RoleSyntax, RSAESOAEPparams, RsaKemParameters, RSAPrivateKey, RSAPrivateKeyStructure, RSAPublicKey, RSAPublicKeyStructure, RSASSAPSSparams, SafeBag, SCVPReqRes, SemanticsInformation, ServiceLocator, ServiceType, Signature, SignaturePolicyId, SignaturePolicyIdentifier, SignedData, SignedData, SignedPublicKeyAndChallenge, SignerAttribute, SignerIdentifier, SignerInfo, SignerInfo, SignerLocation, SigningCertificate, SigningCertificateV2, SigPolicyQualifierInfo, SigPolicyQualifiers, SinglePubInfo, SingleResponse, SMIMECapabilities, SMIMECapability, SPUserNotice, SubjectDirectoryAttributes, SubjectKeyIdentifier, SubjectPublicKeyInfo, Target, TargetEtcChain, TargetInformation, Targets, TBSCertificate, TBSCertificateStructure, TBSCertList, TBSCertList.CRLEntry, TBSRequest, Time, Time, TimeStampAndCRL, TimeStampedData, TimeStampReq, TimeStampResp, TimeStampTokenEvidence, TSTInfo, TypeOfBiometricData, UnsignedInteger, UserNotice, V2Form, ValidationParams, X500Name, X509CertificateStructure, X509Extensions, X509KeyUsage, X509Name, X962Parameters, X9Curve, X9ECParameters, X9ECPoint, X9FieldElement, X9FieldID

      public abstract class ASN1Object
      extends java.lang.Object
      implements ASN1Encodable, Encodable

  Base class for defining an ASN.1 object.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ASN1Object()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object o)`
    `byte[]` | `getEncoded()` Return the default BER or DER encoding for this object.
    `byte[]` | `getEncoded(java.lang.String encoding)` Return either the default for "BER" or a DER encoding if "DER" is specified.
    `protected static boolean` | `hasEncodedTagValue(java.lang.Object obj, int tagValue)` Return true if obj is a byte array and represents an object with the given tag value.
    `int` | `hashCode()`
    `ASN1Primitive` | `toASN1Object()` Deprecated. use toASN1Primitive()
    `abstract ASN1Primitive` | `toASN1Primitive()` Method providing a primitive representation of this object suitable for encoding.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ASN1Object

          public ASN1Object()

  - ### Method Detail

    - #### getEncoded

          public byte[] getEncoded()
                            throws java.io.IOException

      Return the default BER or DER encoding for this object.
      Specified by:
        `getEncoded` in interface `Encodable`
      Returns:
        BER/DER byte encoded object.
      Throws:
        `java.io.IOException` - on encoding error.

    - #### getEncoded

          public byte[] getEncoded(java.lang.String encoding)
                            throws java.io.IOException

      Return either the default for "BER" or a DER encoding if "DER" is specified.
      Parameters:
        `encoding` - name of encoding to use.
      Returns:
        byte encoded object.
      Throws:
        `java.io.IOException` - on encoding error.

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toASN1Object

          public ASN1Primitive toASN1Object()

      Deprecated. use toASN1Primitive()
      Returns:
        the underlying primitive type.

    - #### hasEncodedTagValue

          protected static boolean hasEncodedTagValue(java.lang.Object obj,
                                   int tagValue)

      Return true if obj is a byte array and represents an object with the given tag value.
      Parameters:
        `obj` - object of interest.
        `tagValue` - tag value to check for.
      Returns:
        true if obj is a byte encoding starting with the given tag value, false otherwise.

    - #### toASN1Primitive

          public abstract ASN1Primitive toASN1Primitive()

      Method providing a primitive representation of this object suitable for encoding.
      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Returns:
        a primitive representation of this object.