All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.unbound.provider.kmip.KMIP Maven / Gradle / Ivy

Go to download

This is a collection of JAVA libraries that implement Unbound cryptographic classes for JAVA provider, PKCS11 wrapper, cryptoki, and advapi

There is a newer version: 42761
Show newest version
package com.unbound.provider.kmip;

/**
 * Created by valery.osheter on 18-Nov-15.
 */
public class KMIP
{
  private static int stdTag(int x, int y)
  {
    return 0x42000000 | (x << 8) | y;
  }
  private static int extTag(int x, int y)
  {
    return 0x54000000 | (x << 8) | y;
  }

  public static int tagAttributeValue(int y)
  {
    return stdTag(0x000b, y);
  }

  private static int tagStruct(int x)
  {
    return stdTag(x, TagType.Structure);
  }
  private static int tagInt(int x)
  {
    return stdTag(x, TagType.Integer);
  }
  private static int tagInt64(int x)
  {
    return stdTag(x, TagType.LongInteger);
  }
  private static int tagBigInt(int x)
  {
    return stdTag(x, TagType.BigInteger);
  }
  private static int tagEnum(int x)
  {
    return stdTag(x, TagType.Enumeration);
  }
  private static int tagBool(int x)
  {
    return stdTag(x, TagType.Boolean);
  }
  private static int tagText(int x)
  {
    return stdTag(x, TagType.TextString);
  }
  private static int tagBytes(int x)
  {
    return stdTag(x, TagType.ByteString);
  }
  private static int tagDateTime(int x)
  {
    return stdTag(x, TagType.DateTime);
  }
  private static int tagInterval(int x)
  {
    return stdTag(x, TagType.Interval);
  }

  private static int extTagInt(int x)
  {
    return extTag(x, TagType.Integer);
  }
  private static int extTagInt64(int x)
  {
    return extTag(x, TagType.LongInteger);
  }
  private static int extTagEnum(int x)
  {
    return extTag(x, TagType.Enumeration);
  }
  private static int extTagBool(int x)
  {
    return extTag(x, TagType.Boolean);
  }
  private static int extTagBytes(int x)
  {
    return extTag(x, TagType.ByteString);
  }
  private static int extTagText(int x)
  {
    return extTag(x, TagType.TextString);
  }
  private static int extTagBigInt(int x)
  {
    return extTag(x, TagType.BigInteger);
  }
  private static int extTagDateTime(int x)
  {
    return extTag(x, TagType.DateTime);
  }
  private static  int extTagStructure(int x)
  {
    return extTag(x, TagType.Structure);
  }

  public static class TagType
  {
    public static final int Structure = 0x01;
    public static final int Integer = 0x02;
    public static final int LongInteger = 0x03;
    public static final int BigInteger = 0x04;
    public static final int Enumeration = 0x05;
    public static final int Boolean = 0x06;
    public static final int TextString = 0x07;
    public static final int ByteString = 0x08;
    public static final int DateTime = 0x09;
    public static final int Interval = 0x0a;
  }

  public static class Tag
  {
    public static final int ActivationDate = tagDateTime(0x0001);
    public static final int ApplicationData = tagText(0x0002);
    public static final int ApplicationNamespace = tagText(0x0003);
    public static final int ApplicationSpecificInformation = tagStruct(0x0004);
    public static final int ArchiveDate = tagDateTime(0x0005);
    public static final int AsynchronousCorrelationValue = tagBytes(0x0006);
    public static final int AsynchronousIndicator = tagBool(0x0007);
    public static final int Attribute = tagStruct(0x0008);
    public static final int AttributeIndex = tagInt(0x0009);
    public static final int AttributeName = tagText(0x000a);
    //public static final int AttributeValue = stdKmipTag(0x000b, 0);
    public static final int Authentication = tagStruct(0x000c);
    public static final int BatchCount = tagInt(0x000d);
    public static final int BatchErrorContinuationOption = tagEnum(0x000e);
    public static final int BatchItem = tagStruct(0x000f);
    public static final int BatchOrderOption = tagBool(0x0010);
    public static final int BlockCipherMode = tagEnum(0x0011);
    public static final int CancellationResult = tagEnum(0x0012);
    public static final int Certificate = tagStruct(0x0013);
    public static final int CertificateIdentifier = tagStruct(0x0014);
    public static final int CertificateIssuer = tagStruct(0x0015);
    public static final int CertificateIssuerAlternativeName = tagText(0x0016);
    public static final int CertificateIssuerDistinguishedName = tagText(0x0017);
    public static final int CertificateRequest = tagBytes(0x0018);
    public static final int CertificateRequestType = tagEnum(0x0019);
    public static final int CertificateSubject = tagStruct(0x001a);
    public static final int CertificateSubjectAlternativeName = tagText(0x001b);
    public static final int CertificateSubjectDistinguishedName = tagText(0x001c);
    public static final int CertificateType = tagEnum(0x001d);
    public static final int CertificateValue = tagBytes(0x001e);
    public static final int CommonTemplateAttribute = tagStruct(0x001f);
    public static final int CompromiseDate = tagDateTime(0x0020);
    public static final int CompromiseOccurrenceDate = tagDateTime(0x0021);
    public static final int ContactInformation = tagText(0x0022);
    public static final int Credential = tagStruct(0x0023);
    public static final int CredentialType = tagEnum(0x0024);
    public static final int CredentialValue = tagStruct(0x0025);
    public static final int CriticalityIndicator = tagBool(0x0026);
    public static final int CRTCoefficient = tagBigInt(0x0027);
    public static final int CryptographicAlgorithm = tagEnum(0x0028);
    public static final int CryptographicDomainParameters = tagStruct(0x0029);
    public static final int CryptographicLength = tagInt(0x002a);
    public static final int CryptographicParameters = tagStruct(0x002b);
    public static final int CryptographicUsageMask = tagInt(0x002c);
    //public static final int TagCustomAttribute = stdKmipTag(0x002d, 0);
    public static final int D = tagBigInt(0x002e);
    public static final int DeactivationDate = tagDateTime(0x002f);
    public static final int DerivationData = tagBytes(0x0030);
    public static final int DerivationMethod = tagEnum(0x0031);
    public static final int DerivationParameters = tagStruct(0x0032);
    public static final int DestroyDate = tagDateTime(0x0033);
    public static final int Digest = tagStruct(0x0034);
    public static final int DigestValue = tagBytes(0x0035);
    public static final int EncryptionKeyInformation = tagStruct(0x0036);
    public static final int G = tagBigInt(0x0037);
    public static final int HashingAlgorithm = tagEnum(0x0038);
    public static final int InitialDate = tagDateTime(0x0039);
    public static final int InitializationVector = tagBytes(0x003a);
    public static final int Issuer = tagText(0x003b);
    public static final int IterationCount = tagInt(0x003c);
    public static final int IVCounterNonce = tagBytes(0x003d);
    public static final int J = tagBigInt(0x003e);
    public static final int Key = tagBytes(0x003f);
    public static final int KeyBlock = tagStruct(0x0040);
    public static final int KeyCompressionType = tagEnum(0x0041);
    public static final int KeyFormatType = tagEnum(0x0042);
    public static final int KeyMaterialStruct = tagStruct(0x0043);
    public static final int KeyMaterialBuf = tagBytes(0x0043);
    public static final int KeyPartIdentifier = tagInt(0x0044);
    public static final int KeyValueStruct = tagStruct(0x0045);
    public static final int KeyValueBuf = tagBytes(0x0045);
    public static final int KeyWrappingData = tagStruct(0x0046);
    public static final int KeyWrappingSpecification = tagStruct(0x0047);
    public static final int LastChangeDate = tagDateTime(0x0048);
    public static final int LeaseTime = tagInterval(0x0049);
    public static final int Link = tagStruct(0x004a);
    public static final int LinkType = tagEnum(0x004b);
    public static final int LinkedObjectIdentifier = tagText(0x004c);
    public static final int MacSignature = tagBytes(0x004d);
    public static final int MacSignatureKeyInformation = tagText(0x004e);
    public static final int MaximumItems = tagInt(0x004f);
    public static final int MaximumResponseSize = tagInt(0x0050);
    public static final int MessageExtension = tagStruct(0x0051);
    public static final int Modulus = tagBigInt(0x0052);
    public static final int Name = tagStruct(0x0053);
    public static final int NameType = tagEnum(0x0054);
    public static final int NameValue = tagText(0x0055);
    public static final int ObjectGroup = tagText(0x0056);
    public static final int ObjectType = tagEnum(0x0057);
    public static final int Offset = tagInterval(0x0058);
    public static final int OpaqueDataType = tagEnum(0x0059);
    public static final int OpaqueDataValue = tagBytes(0x005a);
    public static final int OpaqueObject = tagStruct(0x005b);
    public static final int Operation = tagEnum(0x005c);
    public static final int OperationPolicyName = tagText(0x005d);
    public static final int P = tagBigInt(0x005e);
    public static final int PaddingMethod = tagEnum(0x005f);
    public static final int PrimeExponentP = tagBigInt(0x0060);
    public static final int PrimeExponentQ = tagBigInt(0x0061);
    public static final int PrimeFieldSize = tagBigInt(0x0062);
    public static final int PrivateExponent = tagBigInt(0x0063);
    public static final int PrivateKey = tagStruct(0x0064);
    public static final int PrivateKeyTemplateAttribute = tagStruct(0x0065);
    public static final int PrivateKeyUniqueIdentifier = tagText(0x0066);
    public static final int ProcessStartDate = tagDateTime(0x0067);
    public static final int ProtectStopDate = tagDateTime(0x0068);
    public static final int ProtocolVersion = tagStruct(0x0069);
    public static final int ProtocolVersionMajor = tagInt(0x006a);
    public static final int ProtocolVersionMinor = tagInt(0x006b);
    public static final int PublicExponent = tagBigInt(0x006c);
    public static final int PublicKey = tagStruct(0x006d);
    public static final int PublicKeyTemplateAttribute = tagStruct(0x006e);
    public static final int PublicKeyUniqueIdentifier = tagText(0x006f);
    public static final int PutFunction = tagEnum(0x0070);
    public static final int Q = tagBigInt(0x0071);
    public static final int QString = tagBytes(0x0072);
    public static final int QLength = tagInt(0x0073);
    public static final int QueryFunction = tagEnum(0x0074);
    public static final int RecommendedCurve = tagEnum(0x0075);
    public static final int ReplacedUniqueIdentifier = tagText(0x0076);
    public static final int RequestHeader = tagStruct(0x0077);
    public static final int RequestMessage = tagStruct(0x0078);
    public static final int RequestPayload = tagStruct(0x0079);
    public static final int ResponseHeader = tagStruct(0x007a);
    public static final int ResponseMessage = tagStruct(0x007b);
    public static final int ResponsePayload = tagStruct(0x007c);
    public static final int ResultMessage = tagText(0x007d);
    public static final int ResultReason = tagEnum(0x007e);
    public static final int ResultStatus = tagEnum(0x007f);
    public static final int RevocationMessage = tagText(0x0080);
    public static final int RevocationReason = tagStruct(0x0081);
    public static final int RevocationReasonCode = tagEnum(0x0082);
    public static final int KeyRoleType = tagEnum(0x0083);
    public static final int Salt = tagBytes(0x0084);
    public static final int SecretData = tagStruct(0x0085);
    public static final int SecretDataType = tagEnum(0x0086);
    public static final int SerialNumber = tagText(0x0087);
    public static final int ServerInformation = tagStruct(0x0088);
    public static final int SplitKey = tagStruct(0x0089);
    public static final int SplitKeyMethod = tagEnum(0x008a);
    public static final int SplitKeyParts = tagInt(0x008b);
    public static final int SplitKeyThreshold = tagInt(0x008c);
    public static final int State = tagEnum(0x008d);
    public static final int StorageStatusMask = tagInt(0x008e);
    public static final int SymmetricKey = tagStruct(0x008f);
    public static final int Template = tagStruct(0x0090);
    public static final int TemplateAttribute = tagStruct(0x0091);
    public static final int TimeStamp = tagDateTime(0x0092);
    public static final int UniqueBatchItemID = tagBytes(0x0093);
    public static final int UniqueIdentifier = tagText(0x0094);
    public static final int UsageLimits = tagStruct(0x0095);
    public static final int UsageLimitsCount = tagInt64(0x0096);
    public static final int UsageLimitsTotal = tagInt64(0x0097);
    public static final int UsageLimitsUnit = tagEnum(0x0098);
    public static final int Username = tagText(0x0099);
    public static final int ValidityDate = tagDateTime(0x009a);
    public static final int ValidityIndicator = tagEnum(0x009b);
    public static final int VendorExtension = tagStruct(0x009c);
    public static final int VendorIdentification = tagText(0x009d);
    public static final int WrappingMethod = tagEnum(0x009e);
    public static final int X = tagBigInt(0x009f);
    public static final int Y = tagBigInt(0x00a0);

    public static final int Password = tagText(0x00a1);
    public static final int DeviceIdentifier = tagText(0x00a2);
    public static final int EncodingOption = tagEnum(0x00a3);
    public static final int ExtensionInformation = tagStruct(0x00a4);
    public static final int ExtensionName = tagText(0x00a5);
    public static final int ExtensionTag = tagInt(0x00a6);
    public static final int ExtensionType = tagInt(0x00a7);
    public static final int Fresh = tagBool(0x00a8);
    public static final int MachineIdentifier = tagText(0x00a9);
    public static final int MediaIdentifier = tagText(0x00aa);
    public static final int NetworkIdentifier = tagText(0x00ab);
    public static final int ObjectGroupMember = tagEnum(0x00ac);
    public static final int CertificateLength = tagInt(0x00ad);
    public static final int DigitalSignatureAlgorithm = tagEnum(0x00ae);
    public static final int CertificateSerialNumber = tagBytes(0x00af);
    public static final int DeviceSerialNumber = tagText(0x00b0);
    public static final int IssuerAlternativeName = tagBytes(0x00b1);
    public static final int IssuerDistinguishedName = tagBytes(0x00b2);
    public static final int SubjectAlternativeName = tagBytes(0x00b3);
    public static final int SubjectDistinguishedName = tagBytes(0x00b4);
    public static final int X509CertificateIdentifier = tagStruct(0x00b5);
    public static final int X509CertificateIssuer = tagStruct(0x00b6);
    public static final int X509CertificateSubject = tagStruct(0x00b7);
    public static final int KeyValueLocation = tagStruct(0x00b8);
    public static final int KeyValueLocationValue = tagText(0x00b9);
    public static final int KeyValueLocationType = tagEnum(0x00ba);
    public static final int OriginalCreationDate = tagDateTime(0x00bc);
    public static final int PGPKey = tagStruct(0x00bd);
    public static final int PGPKeyVersion = tagInt(0x00be);
    public static final int AlternativeName = tagStruct(0x00bf);
    public static final int AlternativeNameValue = tagText(0x00c0);
    public static final int AlternativeNameType = tagEnum(0x00c1);
    public static final int Data = tagBytes(0x00c2);
    public static final int SignatureData = tagBytes(0x00c3);
    public static final int DataLength = tagInt(0x00c4);
    public static final int RandomIV = tagBool(0x00c5);
    public static final int MACData = tagBytes(0x00c6);
    public static final int AttestationType = tagEnum(0x00c7);
    public static final int Nonce = tagStruct(0x00c8);
    public static final int NonceID = tagBytes(0x00c9);
    public static final int NonceValue = tagBytes(0x00ca);
    public static final int AttestationMeasurement = tagBytes(0x00cb);
    public static final int AttestationAssertion = tagBytes(0x00cc);
    public static final int IVLength = tagInt(0x00cd);
    public static final int TagLength = tagInt(0x00ce);
    public static final int FixedFieldLength = tagInt(0x00cf);
    public static final int CounterLength = tagInt(0x00d0);
    public static final int InitialCounterValue = tagInt(0x00d1);
    public static final int InvocationFieldLength = tagInt(0x00d2);
    public static final int AttestationCapableIndicator = tagBool(0x00d3);
    public static final int OffsetItems = tagInt(0x00d4);
    public static final int LocatedItems = tagInt(0x00d5);
    public static final int CorrelationValue = tagBytes(0x00d6);
    public static final int InitIndicator = tagBool(0x00d7);
    public static final int FinalIndicator = tagBool(0x00d8);

    public static final int RNGParameters = tagStruct(0x00D9);
    public static final int RNGAlgorithm = tagEnum(0x00DA);
    public static final int DRBGAlgorithm = tagEnum(0x00DB);
    public static final int FIPS186Variation = tagEnum(0x00DC);
    public static final int PredictionResistance = tagBool(0x00DD);
    public static final int RandomNumberGenerator = tagEnum(0x00DE);
    public static final int ValidationInformation = tagStruct(0x00DF);
    public static final int ValidationAuthorityType = tagEnum(0x00E0);
    public static final int ValidationAuthorityCountry = tagText(0x00E1);
    public static final int ValidationAuthorityURI = tagText(0x00E2);
    public static final int ValidationVersionMajor = tagInt(0x00E3);
    public static final int ValidationVersionMinor = tagInt(0x00E4);
    public static final int ValidationType = tagEnum(0x00E5);
    public static final int ValidationLevel = tagEnum(0x00E6);
    public static final int ValidationCertificateIdentifier = tagText(0x00E7);
    public static final int ValidationCertificateURI = tagText(0x00E8);
    public static final int ValidationVendorURI = tagText(0x00E9);
    public static final int ValidationProfile = tagText(0x00EA);
    public static final int ProfileInformation = tagStruct(0x00EB);
    public static final int ProfileName = tagEnum(0x00EC);
    public static final int ServerURI = tagText(0x00ED);
    public static final int ServerPort = tagInt(0x00EE);
    public static final int StreamingCapability = tagBool(0x00EF);
    public static final int AsynchronousCapability = tagBool(0x00F0);
    public static final int AttestationCapability = tagBool(0x00F1);
    public static final int UnwrapMode = tagEnum(0x00F2);
    public static final int DestroyAction = tagEnum(0x00F3);
    public static final int ShreddingAlgorithm = tagEnum(0x00F4);
    public static final int RNGMode = tagEnum(0x00F5);
    public static final int ClientRegistrationMethod = tagEnum(0x00F6);
    public static final int CapabilityInformation = tagStruct(0x00F7);
    public static final int KeyWrapType = tagEnum(0x00F8);
    public static final int BatchUndoCapability = tagBool(0x00F9);
    public static final int BatchContinueCapability = tagBool(0x00FA);
    public static final int PKCS12FriendlyName = tagText(0x00FB);
    public static final int Description = tagText(0x00FC);
    public static final int Comment = tagText(0x00FD);
    public static final int AuthenticatedEncryptionAdditionalData = tagBytes(0x00FE);
    public static final int AuthenticatedEncryptionTag = tagBytes(0x00FF);
    public static final int SaltLength = tagInt(0x0100);
    public static final int MaskGenerator = tagEnum(0x0101);
    public static final int MaskGeneratorHashingAlgorithm = tagEnum(0x0102);
    public static final int PSource = tagBytes(0x0103);
    public static final int TrailerField = tagInt(0x0104);
    public static final int ClientCorrelationValue = tagText(0x0105);
    public static final int ServerCorrelationValue = tagText(0x0106);
    public static final int DigestedData = tagBytes(0x0107);
    public static final int CertificateSubjectCN = tagText(0x0108);
    public static final int CertificateSubjectO = tagText(0x0109);
    public static final int CertificateSubjectOU = tagText(0x010A);
    public static final int CertificateSubjectEmail = tagText(0x010B);
    public static final int CertificateSubjectC = tagText(0x010C);
    public static final int CertificateSubjectST = tagText(0x010D);
    public static final int CertificateSubjectL = tagText(0x010E);
    public static final int CertificateSubjectUID = tagText(0x010F);
    public static final int CertificateSubjectSerialNumber = tagText(0x0110);
    public static final int CertificateSubjectTitle = tagText(0x0111);
    public static final int CertificateSubjectDC = tagText(0x0112);
    public static final int CertificateSubjectDNQualifier = tagText(0x0113);
    public static final int CertificateIssuerCN = tagText(0x0114);
    public static final int CertificateIssuerO = tagText(0x0115);
    public static final int CertificateIssuerOU = tagText(0x0116);
    public static final int CertificateIssuerEmail = tagText(0x0117);
    public static final int CertificateIssuerC = tagText(0x0118);
    public static final int CertificateIssuerST = tagText(0x0119);
    public static final int CertificateIssuerL = tagText(0x011A);
    public static final int CertificateIssuerUID = tagText(0x011B);
    public static final int CertificateIssuerSerialNumber = tagText(0x011C);
    public static final int CertificateIssuerTitle = tagText(0x011D);
    public static final int CertificateIssuerDC = tagText(0x011E);
    public static final int CertificateIssuerDNQualifier = tagText(0x011F);
    public static final int Sensitive = tagBool(0x0120);
    public static final int AlwaysSensitive = tagBool(0x0121);
    public static final int Extractable = tagBool(0x0122);
    public static final int NeverExtractable = tagBool(0x0123);
    public static final int ReplaceExisting = tagBool(0x0124);

    public static final int CKA_CLASS = extTagEnum(0x0000);
    public static final int CKA_TOKEN = extTagBool(0x0001);
    public static final int CKA_PRIVATE = extTagBool(0x0002);
    public static final int CKA_LABEL = extTagText(0x0003);
    public static final int CKA_APPLICATION = extTagText(0x0010);
    public static final int CKA_VALUE = extTagBytes(0x0011);
    public static final int CKA_CERTIFICATE_TYPE = extTagEnum(0x0080);
    public static final int CKA_ISSUER = extTagBytes(0x0081);
    public static final int CKA_SERIAL_NUMBER = extTagBytes(0x0082);
    public static final int CKA_CERTIFICATE_CATEGORY = extTagEnum(0x0087);
    public static final int CKA_URL = extTagText(0x0089);
    public static final int CKA_OBJECT_ID = extTagBytes(0x0012);
    public static final int CKA_CHECK_VALUE = extTagBytes(0x0090);
    public static final int CKA_KEY_GEN_MECHANISM = extTagEnum(0x0166);
    public static final int CKA_KEY_TYPE = extTagEnum(0x0100);
    public static final int CKA_SUBJECT = extTagBytes(0x0101);
    public static final int CKA_ID = extTagBytes(0x0102);
    public static final int CKA_SENSITIVE = extTagBool(0x0103);
    public static final int CKA_ENCRYPT = extTagBool(0x0104);
    public static final int CKA_DECRYPT = extTagBool(0x0105);
    public static final int CKA_WRAP = extTagBool(0x0106);
    public static final int CKA_UNWRAP = extTagBool(0x0107);
    public static final int CKA_SIGN = extTagBool(0x0108);
    public static final int CKA_SIGN_RECOVER = extTagBool(0x0109);
    public static final int CKA_VERIFY = extTagBool(0x010A);
    public static final int CKA_VERIFY_RECOVER = extTagBool(0x010B);
    public static final int CKA_DERIVE = extTagBool(0x010C);
    public static final int CKA_START_DATE = extTagDateTime(0x0110);
    public static final int CKA_END_DATE = extTagDateTime(0x0111);
    public static final int CKA_MODULUS = extTagBigInt(0x0120);
    public static final int CKA_MODULUS_BITS = extTagInt(0x0121);
    public static final int CKA_PUBLIC_EXPONENT = extTagBigInt(0x0122);
    public static final int CKA_PRIVATE_EXPONENT = extTagBigInt(0x0123);
    public static final int CKA_PRIME_1 = extTagBigInt(0x0124);
    public static final int CKA_PRIME_2 = extTagBigInt(0x0125);
    public static final int CKA_EXPONENT_1 = extTagBigInt(0x0126);
    public static final int CKA_EXPONENT_2 = extTagBigInt(0x0127);
    public static final int CKA_COEFFICIENT = extTagBigInt(0x0128);
    public static final int CKA_VALUE_LEN = extTagInt(0x0161);
    public static final int CKA_EXTRACTABLE = extTagBool(0x0162);
    public static final int CKA_LOCAL = extTagBool(0x0163);
    public static final int CKA_NEVER_EXTRACTABLE = extTagBool(0x0164);
    public static final int CKA_ALWAYS_SENSITIVE = extTagBool(0x0165);
    public static final int CKA_MODIFIABLE = extTagBool(0x0170);
    public static final int CKA_ALWAYS_AUTHENTICATE = extTagBool(0x0202);
    //public static final int CKA_ALLOWED_MECHANISMS=        extTagBytes(0x);
    public static final int CKA_EC_PARAMS = extTagBytes(0x0180);
    public static final int CKA_EC_POINT = extTagBytes(0x0181);
    public static final int CKA_MECHANISM_TYPE = extTagEnum(0x0500);
    public static final int CKA_TRUSTED = extTagBool(0x0086);
    public static final int CKA_WRAP_WITH_TRUSTED = extTagBool(0x0210);
    public static final int xID = extTagBool(0x0211);

    // Extensions 540000 - 54FFFF
    public static final int DyDYCKA_UID = extTagInt64(0x7201);
    public static final int DyDYCKA_PASS_EC_POINT = extTagBytes(0x7202);
    public static final int DyDYCKA_DATA_EC_POINT = extTagBytes(0x7203);
    public static final int DyDYCKA_ECDSA_ENC_PUB_KEY = extTagBigInt(0x7206);
    public static final int DyDYCKA_LIMA_PUB_KEY = extTagBytes(0x7207);
    public static final int DyDYCKA_EDDSA_PUB_KEY = extTagBytes(0x7208);
    public static final int DyDYCKA_ERASE_KEY_MATERIAL = extTagBool(0x7209);
    public static final int DyDYCKA_FIPS = extTagBool(0x720a);
    public static final int DyCKA_MPC_SIGN_PROTECTED = extTagBool(0x720b);
    public static final int DyCKA_INTEGRITY_SIGNATURE = extTagBytes(0x720c);
    public static final int DYCKA_OBJECT_GROUPS = extTagText(0x720f);

    public static final int DYCKA_ECDSA_BIP_LEVEL = extTagInt(0x7210);
    public static final int DYCKA_ECDSA_BIP_CHILD_NUMBER = extTagInt(0x7211);
    public static final int DYCKA_ECDSA_BIP_PARENT_FINGERPRINT = extTagBytes(0x7212);
    public static final int DYCKA_ECDSA_BIP_CPAR = extTagBytes(0x7213);
    public static final int DYCKA_ECDSA_BIP_PARENT_UID = extTagInt64(0x7214);
    public static final int DYCKA_ECDSA_BIP_HARDENED = extTagBool(0x7215);

    public static final int DYCKA_EDDSA_BIP_LEVEL = extTagInt(0x7230);
    public static final int DYCKA_EDDSA_BIP_CHILD_NUMBER = extTagInt(0x7231);
    public static final int DYCKA_EDDSA_BIP_CPAR = extTagBytes(0x7233);
    public static final int DYCKA_EDDSA_BIP_PARENT_UID = extTagInt64(0x7234);
    public static final int DYCKA_EDDSA_BIP_HARDENED = extTagBool(0x7235);

    public static final int DYCKA_DIGEST_SHA_1 = extTagBytes(0x7220);
    public static final int DYCKA_DIGEST_SHA256 = extTagBytes(0x7221);
    public static final int DYCKA_DIGEST_SHA384 = extTagBytes(0x7222);
    public static final int DYCKA_DIGEST_SHA512 = extTagBytes(0x7223);

    //public static final int DYCKA_KEY_ROTATION_INTERVAL= extTagInt(0x7230);
    //public static final int DYCKA_NEXT_KEY_ROTATION_TIME = extTagInt64(0x7231);


    public static final int DyAuth = extTagBytes(0xff01);
    public static final int DyMgfAlg = extTagEnum(0xff02);
    public static final int DyPssSaltSize = extTagInt(0xff03);
    public static final int DySecretSize = extTagInt(0xff04);
    public static final int DyPartitionName = extTagText(0xff05);
    public static final int DyPartitionId = extTagText(0xff06);
    public static final int DyServer = extTagText(0xff07);
    public static final int DyLIMAKeyType = extTagEnum(0xff08);
    public static final int DyLIMAPrivateKey = extTagBytes(0xff09);
    public static final int DyLIMAPublicKey = extTagBytes(0xff0a);
    public static final int DyPaillierKey = extTagBytes(0xff0b);
    public static final int DyDetails = extTagBytes(0xff10);
    public static final int DyAuthType = extTagEnum(0xff11);
    public static final int DyRole = extTagText(0xff12);
    public static final int DyMode = extTagEnum(0xff13);
    public static final int DyActivationCode = extTagText(0xff14);
    public static final int DyCertificateRequest = extTagBytes(0xff15);
    public static final int DyPfxPassword = extTagText(0xff16);
    public static final int DyPFX = extTagBytes(0xff17);
    public static final int DyCertificate = extTagBytes(0xff18);
    public static final int DyObject = extTagText(0xff19);
    public static final int DyPublicKey = extTagBytes(0xff1a);
    public static final int DySecret = extTagText(0x1004);
    public static final int DyOperation = extTagBool(0x1005);
    public static final int DyOperations = extTagInt(0x1006);
    //public static final int DyObjectType = extTagBool(0x1006);
//        public static final int DyCryptographicAlgorithm = extTagBool(0x1007);
    public static final int DyPrivateOperation = extTagBool(0x1008);
    public static final int DyEp = extTagText(0xff20);
    public static final int DyPartner = extTagText(0xff21);
    public static final int DyAuxiliary = extTagText(0xff22);

    public static final int DyEpPublic = extTagText(0xff23);
    public static final int DyPartnerPublic = extTagText(0xff24);
    public static final int DyAuxiliaryPublic = extTagText(0xff25);

    public static final int DyEpCertificateThumbPrint = extTagText(0xff26);
    public static final int DyPartnerCertificateThumbPrint = extTagText(0xff27);
    public static final int DyAuxiliaryCertificateThumbPrint = extTagText(0xff28);
    public static final int DyForce = extTagText(0xff29);

    public static final int DyTopology = extTagText(0xff40);
    public static final int DyStatus = extTagText(0xff41);
    public static final int DyFull = extTagBool(0xff42);
    public static final int DyPassword = extTagText(0xff43);
    public static final int DyPartition = extTagText(0xff44);
    public static final int DyPresent = extTagBool(0xff45);
    public static final int DyPairOnly = extTagBool(0xff46);
    public static final int DyTitle = extTagText(0xff47);
    public static final int DySoUser = extTagText(0xff48);


    public static final int DyEpCertificate = extTagBytes(0xff30);
    public static final int DyPartnerCertificate = extTagBytes(0xff31);
    public static final int DyAuxiliaryCertificate = extTagBytes(0xff32);
    public static final int DyGetAllCAs = extTagBool(0xff33);

    public static final int DyExportable = extTagInt(0xff40);
    public static final int DyWrapable = extTagBytes(0xff41);
    public static final int DyWrapableWithTrusted = extTagBytes(0xff42);
    public static final int DyNonExportable = extTagBool(0xff43);

    public static final int DyClient = extTagText(0xff52);
    public static final int DyServerName = extTagText(0xff53);
    public static final int DyRetries = extTagInt(0xff54);
    public static final int DyGenerateAttestation = extTagBool(0xff55);
    public static final int DyCaCertificate = extTagBytes(0xff56);
    public static final int DyOperationsGroup = extTagBytes(0xff57);

    public static final int DyTemplate = extTagText(0xff58);

    public static final int DyGenericKey = extTagText(0xff59);
    public static final int DyBackup = extTagText(0xff70);

    public static final int DyChain = extTagText(0xfe5a);
    public static final int DyObjectGroup = extTagText(0xfe5b);
    public static final int DyIsPrimaryObject = extTagBool(0xfe5c);

    public static final int DyCreatedUsingDerive = extTagBool(0xfe5d);
    public static final int DyIsSync = extTagBool(0xfe5e);


    public static final int DyDateCreated = extTagText(0xff60);
    public static final int DyLastUpdated = extTagText(0xff61);
    public static final int DyLastPasswordUpdated = extTagText(0xff62);

    public static final int DyClientRegistrainRetries = extTagInt(0xff80);
    public static final int DyClientRegistrationTimeout = extTagInt(0xff81);
    public static final int DyUserLoginRetries = extTagInt(0xff82);
    public static final int DySamlTimeout = extTagInt(0xff83);
    public static final int DySamlCertificate = extTagBytes(0xff84);

    public static final int DyPasswordComplexity = extTagBool(0xff85);
    public static final int DyPasswordLength = extTagBytes(0xff86);
    public static final int DyCheckClientIp = extTagBool(0xff87);

    public static final int DyPartitionInheritance = extTagBool(0xff88);
    public static final int DyCertificatePropagation = extTagBool(0xff89);
    public static final int DyPartitionFipsRequirements = extTagEnum(0xff90);

    // used in Register command for auto activating the object after registration
    // added for implementing quorum on register as a single command instead of register/activate as two commands
    public static final int DyDoActivate = extTagBool(0xff8a);
    public static final int DyKeyOnly = extTagBool(0xff8b);
    public static final int DyTestMode = extTagBool(0xff8c);
    public static final int DyDeleteCertificate = extTagBool(0xff8d);
    public static final int DyJwtTimeout = extTagInt(0xff8e);
    public static final int DyJwtLimit = extTagInt(0xff5C);
    public static final int DyRoleObjectPermission = extTagStructure(0xff8f);

    // Global
    public static final int DyRefreshInterval = extTagInt(0xff90);
    public static final int DySyncInterval = extTagInt(0xff91);
    public static final int DyCheckAllowServers = extTagInt(0xff92);
    public static final int DyAllowNoCertificate = extTagBool(0xff93);
    public static final int DyAllowDefaultClient = extTagBool(0xff94);
    public static final int DySeedInterval = extTagInt(0xff95);
    public static final int DyLicense = extTagInt(0xff96);
    public static final int DyVersion = extTagText(0xff97);
    public static final int DyAllowNat = extTagBool(0xff98);

    public static final int DyRootCaCertificateExpiration = extTagInt(0xff99);
    public static final int DyServerCertificateExpiration = extTagInt(0xff9a);
    public static final int DyClientCertificateExpiration = extTagInt(0xff9b);

    public static final int DyRootCaCertificatePreExpiry = extTagInt(0xff9c);
    public static final int DyServerCertificatePreExpiry = extTagInt(0xff9d);
    public static final int DyClientCertificatePreExpiry = extTagInt(0xff9e);

    public static final int DyActivationCodeLength = extTagInt(0xff9f);
    public static final int DyExpiration = extTagText(0xff5a);
    public static final int DyClientCertExpiring = extTagBool(0xff5b);

    public static final int DyIpRange = extTagText(0xffc0);
    public static final int DyEnforceUniqueName = extTagBool(0xffc1);
    public static final int DyEnforceUniqueDescription = extTagBool(0xffc2);

    public static final int DyOfflineBackupKey = extTagBytes(0xffc3);
    public static final int DyGrantType = extTagInt(0xffc4);
    public static final int DyClientSecretExpiration = extTagInt(0xffc5);

    public static final int DyJwtExpiresAt = extTagText(0xffc6);
    public static final int DyJwtExpiresIn = extTagInt(0xffc7);

    public static final int DyRefreshJwt = extTagInt(0xffc8);
    public static final int DyLastActivity = extTagText(0xffc9);
    public static final int DyLastLogout = extTagText(0xffca);

    //Quorum
    public static final int DyQuorumValue = extTagText(0xffa0);
    public static final int DyQuorumInitiator = extTagText(0xffa1);
    public static final int DyQuorumIsApproved = extTagBool(0xffa2);
    public static final int DyQuorumApprover = extTagText(0xffa3);
    public static final int DyQuorumDate = extTagInt64(0xffa4);
    public static final int DyQuorumOperations = extTagText(0xffa5);
    public static final int DyQuorumTimeout = extTagInt(0xffa6);


    public static final int DyAllowOnlyCrypto = extTagBool(0xffb0);
    public static final int DyLdapProviderUrl = extTagText(0xffb1);
    public static final int DyLdapBindDn = extTagText(0xffb2);
    public static final int DyLdapBindDnPwd = extTagText(0xffb3);
    public static final int DyLdapCaCert = extTagBytes(0xffb4);
    public static final int DyLdapSearchFilter = extTagText(0xffb5);
    public static final int DyLdapDoNotVerifyCert = extTagBool(0xffb7);
    public static final int DyKeyRotationExecTime = extTagText(0xffb8);
    public static final int DyLdapSearchBase = extTagText(0xffb9);
    public static final int DySignAttributes = extTagBool(0xffe0);
    public static final int DyFips = extTagBool(0xffe1);
    public static final int DyKeyRotationInterval = extTagInt(0xffe2);
    public static final int DyNextKeyRotationTime = extTagInt64(0xffe3);
    //public static final int DyFullyDistributedObject = extTagBool(0xffb6);

    public static final int DyConnectTimeout = extTagInt(0xffd0);
    public static final int DyReadTimeout = extTagInt(0xffd1);
    public static final int DyWriteTimeout = extTagInt(0xffd2);

    public static final int DyCipherSuite = extTagText(0xffd3);

    public static final int DyKeepAliveIdle = extTagInt(0xffd4);
    public static final int DyKeepAliveInterval = extTagInt(0xffd5);
    public static final int DyKeepAliveCount = extTagInt(0xffd6);
    public static final int DyJws = extTagBytes(0xffd7);
    public static final int DyDateFrom = extTagDateTime(0xffd8);
    public static final int DyDateTo = extTagDateTime(0xffd9);
    public static final int DyPeriod = extTagEnum(0xffda);

    public static final int DyDseVersion = extTagText(0xffdb);
    public static final int DyDseKeyNamespace = extTagText(0xffdc);
    public static final int DyCheckJwtOriginator = extTagText(0xffdd);
    public static final int DyEncDecForWrapUnWrap = extTagBool(0xffe5);
  }

  public static class ErrorOption
  {
    public static final int Continue = 1;
    public static final int Stop = 2;
    public static final int Undo = 3;
  }

  public static class AttestationType
  {
    public static final int Quote = 0x00000001;
    public static final int TCGIntegrityReport = 0x00000002;
    public static final int SAMLAssertion = 0x00000003;
    public static final int DyJwtAssertion = 0x80000001;
  }

  public static class RevocationReason
  {
    public static final int Unspecified = 1;
    public static final int KeyCompromise = 2;
    public static final int CACompromise = 3;
    public static final int AffiliationChanged = 4;
    public static final int Superseded = 5;
    public static final int CessationOfOperation = 6;
    public static final int PrivilegeWithdrawn = 7;
  }

  public static class CredentialType
  {
    public static final int UsernameAndPassword = 1;
    public static final int Device = 2;
    public static final int Attestation = 3;
  }

  public static class KeyCompressionType
  {
    public static final int ECPublicKeyTypeUncompressed = 1;
    public static final int ECPublicKeyTypeX9_62CompressedPrime = 2;
    public static final int ECPublicKeyTypeX9_62CompressedChar2 = 3;
    public static final int ECPublicKeyTypeX9_62Hybrid = 4;
  }

  public static class KeyFormatType
  {
    public static final int Raw = 0x01;
    public static final int Opaque = 0x02;
    public static final int PKCS_1 = 0x03;
    public static final int PKCS_8 = 0x04;
    public static final int X_509 = 0x05;
    public static final int ECPrivateKey = 0x06;
    public static final int TransparentSymmetricKey = 0x07;
    public static final int TransparentDSAPrivateKey = 0x08;
    public static final int TransparentDSAPublicKey = 0x09;
    public static final int TransparentRSAPrivateKey = 0x0a;
    public static final int TransparentRSAPublicKey = 0x0b;
    public static final int TransparentDHPrivateKey = 0x0c;
    public static final int TransparentDHPublicKey = 0x0d;
    public static final int TransparentECDSAPrivateKey = 0x0e;
    public static final int TransparentECDSAPublicKey = 0x0f;
    public static final int TransparentECDHPrivateKey = 0x10;
    public static final int TransparentECDHPublicKey = 0x11;
    public static final int TransparentECMQVPrivateKey = 0x12;
    public static final int TransparentECMQVPublicKey = 0x13;
    public static final int TransparentECPrivateKey = 0x14;
    public static final int TransparentECPublicKey = 0x15;
    public static final int PKCS_12 = 0x16;
    public static final int TransparentLIMAPrivateKey = 0x80000001;
    public static final int PUBLIC_PEM = 0x80000002;
    public static final int PFX = 0x80000003;
    public static final int OBFUSCATED_PEM = 0x80000004;
    public static final int NOTARY = 0x80000005;
    public static final int PRIVATE_PEM = 0x80000006;
  }

  public static class WrappingMethod
  {
    public static final int Encrypt = 0x01;
    public static final int MACsign = 0x02;
    public static final int EncryptthenMACsign = 0x03;
    public static final int MACsignthenencrypt = 0x04;
    public static final int TR_31 = 0x05;
  }

  /* recommended curve enumeration for ecdsa; ecdh; and ecmqv */
  public static class RecommendedCurve
  {
    public static final int P_192 = 0x01;
    public static final int K_163 = 0x02;
    public static final int B_163 = 0x03;
    public static final int P_224 = 0x04;
    public static final int K_233 = 0x05;
    public static final int B_233 = 0x06;
    public static final int P_256 = 0x07;
    public static final int K_283 = 0x08;
    public static final int B_283 = 0x09;
    public static final int P_384 = 0x0a;
    public static final int K_409 = 0x0b;
    public static final int B_409 = 0x0c;
    public static final int P_521 = 0x0d;
    public static final int K_571 = 0x0e;
    public static final int B_571 = 0x0f;
    public static final int SECP256K1 = 0x00000019;
  }

  public static class CertificateType
  {
    public static final int None = 0;
    public static final int X_509 = 0x01;
  }

  public static class DigitalSignatureAlgorithm
  {
    public static final int Md2WithRSAEncryption = 1;
    public static final int Md5WithRSAEncryption = 2;
    public static final int SHA_1WithRSAEncryption = 3;
    public static final int SHA_224WithRSAEncryption = 4;
    public static final int SHA_256WithRSAEncryption = 5;
    public static final int SHA_384WithRSAEncryption = 6;
    public static final int SHA_512WithRSAEncryption = 7;
    public static final int RSASSA_PSS = 8;
    public static final int DSAWithSHA_1 = 9;
    public static final int DSAWithSHA224 = 10;
    public static final int DSAWithSHA256 = 11;
    public static final int ECDSAWithSHA_1 = 12;
    public static final int ECDSAWithSHA224 = 13;
    public static final int ECDSAWithSHA256 = 14;
    public static final int ECDSAWithSHA384 = 15;
    public static final int ECDSAWithSHA512 = 16;
  }

  public static class SecretDataType
  {
    public static final int Password = 1;
    public static final int Seed = 2;
  }

  public static class NameType
  {
    public static final int UninterpretedTextString = 1;
    public static final int Uri = 2;
  }

  public static class ObjectType
  {
    public static final int None = 0;
    public static final int Certificate = 0x01;
    public static final int SymmetricKey = 0x02;
    public static final int PublicKey = 0x03;
    public static final int PrivateKey = 0x04;
    public static final int SplitKey = 0x05;
    public static final int Template = 0x06;
    public static final int SecretData = 0x07;
    public static final int OpaqueObject = 0x08;
    public static final int PGPKey = 0x09;

    public static final int DyPartition = 0x80000001;
    public static final int DyClient = 0x80000002;
    public static final int DyPartitionUser = 0x80000003;
    public static final int DyRole = 0x80000004;
    public static final int DyGenericKey = 0x80000005;
  }

  public static class DyObjectGroup
  {
    public static final int Crypto = 0x8000000a;
    public static final int SecretData = 0x8000000c;
    public static final int PublicData = 0x8000000d;
  }

  public static class CryptographicAlgorithm
  {
    public static final int DES = 0x01;
    public static final int DES3 = 0x02;
    public static final int AES = 0x03;
    public static final int RSA = 0x04;
    public static final int DSA = 0x05;
    public static final int ECDSA = 0x06;
    public static final int HMAC_SHA1 = 0x07;
    public static final int HMAC_SHA224 = 0x08;
    public static final int HMAC_SHA256 = 0x09;
    public static final int HMAC_SHA384 = 0x0a;
    public static final int HMAC_SHA512 = 0x0b;
    public static final int HMAC_MD5 = 0x0c;
    public static final int DH = 0x0d;
    public static final int ECDH = 0x0e;
    public static final int ECMQV = 0x0f;
    public static final int Blowfish = 0x10;
    public static final int Camellia = 0x11;
    public static final int Cast5 = 0x12;
    public static final int Idea = 0x13;
    public static final int Mars = 0x14;
    public static final int RC2 = 0x15;
    public static final int RC4 = 0x16;
    public static final int RC5 = 0x17;
    public static final int Skipjack = 0x18;
    public static final int Twofish = 0x19;
    public static final int EC = 0x1a;

    public static final int DyPRF = 0x80000001;
    public static final int DyPWD = 0x80000002;
    public static final int DyAES_SIV = 0x80000003;
    public static final int DyAES_XTS = 0x80000004;
    public static final int DyLIMA = 0x80000005;
    public static final int DyECDSAEnc = 0x80000006;
    public static final int DyDeriveConcat = 0x80000007;
    public static final int DyEDDSA = 0x80000008;
    public static final int DyPrfCMacCtr = 0x80000009;
    public static final int DySchnorr = 0x8000000a;
  }

  public static class BlockCipherMode
  {
    public static final int CBC = 1;
    public static final int ECB = 2;
    public static final int PCBC = 3;
    public static final int CFB = 4;
    public static final int OFB = 5;
    public static final int CTR = 6;
    public static final int CMAC = 7;
    public static final int CCM = 8;
    public static final int GCM = 9;
    public static final int CBCMAC = 10;
    public static final int XTS = 11;
    public static final int AESKeyWrappadding = 12;
    public static final int NISTKeyWrap = 13;
    public static final int SIV = 0x80000001;
    public static final int GMAC = 0x80000002;
  }

  public static class PaddingMethod
  {
    public static final int None = 1;
    public static final int OAEP = 2;
    public static final int PKCS5 = 3;
    public static final int SSL3 = 4;
    public static final int Zeros = 5;
    public static final int ANSIX9_23 = 6;
    public static final int ISO = 7;
    public static final int PKCS1_V1_5 = 8;
    public static final int X9_31 = 9;
    public static final int PSS = 10;

    public static final int DyPrefix = 0x80000001;
    public static final int DySuffix = 0x80000002;
  }

  public static class HashingAlgorithm
  {
    public static final int MD2 = 1;
    public static final int MD4 = 2;
    public static final int MD5 = 3;
    public static final int SHA_1 = 4;
    public static final int SHA_224 = 5;
    public static final int SHA_256 = 6;
    public static final int SHA_384 = 7;
    public static final int SHA_512 = 8;
    public static final int RIPEMD_160 = 9;
    public static final int TIGER = 10;
    public static final int WHIRLPOOL = 11;
  }

  public static class KeyRoleType
  {
    public static final int BDK = 0x00000001;
    public static final int CVK = 0x00000002;
    public static final int DEK = 0x00000003;
    public static final int MKAC = 0x00000004;
    public static final int MKSMC = 0x00000005;
    public static final int MKSMI = 0x00000006;
    public static final int MKDAC = 0x00000007;
    public static final int MKDN = 0x00000008;
    public static final int MKCP = 0x00000009;
    public static final int MKOTH = 0x0000000A;
    public static final int KEK = 0x0000000B;
    public static final int MAC16609 = 0x0000000C;
    public static final int MAC97971 = 0x0000000D;
    public static final int MAC97972 = 0x0000000E;
    public static final int MAC97973 = 0x0000000F;
    public static final int MAC97974 = 0x00000010;
    public static final int MAC97975 = 0x00000011;
    public static final int ZPK = 0x00000012;
    public static final int PVKIBM = 0x00000013;
    public static final int PVKPVV = 0x00000014;
    public static final int PVKOTH = 0x00000015;
    public static final int DUKPT = 0x00000016;
    public static final int IV = 0x00000017;
    public static final int TRKBK = 0x00000018;
  }

  public static class State
  {
    public static final int PreActive = 1;
    public static final int Active = 2;
    public static final int Deactivated = 3;
    public static final int Compromised = 4;
    public static final int Destroyed = 5;
    public static final int DestroyedCompromised = 6;
  }

  public static class RevocationReasonCode
  {
    public static final int Unspecified = 0x01;
    public static final int KeyCompromise = 0x02;
    public static final int CACompromise = 0x03;
    public static final int AffiliationChanged = 0x04;
    public static final int Superseded = 0x05;
    public static final int CessationofOperation = 0x06;
    public static final int PrivilegeWithdrawn = 0x07;
  }

  public static class LinkType
  {
    public static final int CertificateLink = 0x00000101;
    public static final int PublicKeyLink = 0x00000102;
    public static final int PrivateKeyLink = 0x00000103;
    public static final int DerivationBaseObjectLink = 0x00000104;
    public static final int DerivedKeyLink = 0x00000105;
    public static final int ReplacementObjectLink = 0x00000106;
    public static final int ReplacedObjectLink = 0x00000107;
    public static final int ParentLink = 0x00000108;
    public static final int ChildLink = 0x00000109;
    public static final int PreviousLink = 0x0000010A;
    public static final int NextLink = 0x0000010B;
    public static final int PKCS_12CertificateLink = 0x0000010C;
    public static final int PKCS_12PasswordLink = 0x0000010D;
  }

  public static class DerivationMethod
  {
    public static final int Pbkdf2 = 1;
    public static final int Hash = 2;
    public static final int Hmac = 3;
    public static final int Encrypt = 4;
    public static final int NIST800_108_C = 5;
    public static final int NIST800_108_F = 6;
    public static final int NIST800_108_DPI = 7;

    public static final int DyConcat = 0x80000001;
    public static final int DyEcdsaBipNormal = 0x80000002;
    public static final int DyEcdsaBipHardened = 0x80000003;
    public static final int DyEcdsaToEddsa = 0x80000004;
    public static final int DyEcdsaBipCaspHardened = 0x80000005;
    public static final int DyEddsaBipNormal = 0x80000006;
    public static final int DyEddsaBipHardened = 0x80000007;
    public static final int DyEddsaBipCaspHardened = 0x80000008;
  }

  public static class CertificateRequestType
  {
    public static final int CRMF = 0x01;
    public static final int PKCS_10 = 0x02;
    public static final int PEM = 0x03;
    public static final int PGP = 0x04;
  }

  public static class ValidityIndicator
  {
    public static final int Valid = 1;
    public static final int Invalid = 2;
    public static final int Unknown = 3;
  }

  public static class QueryFunction
  {
    public static final int QueryOperations = 0x01;
    public static final int QueryObjects = 0x02;
    public static final int QueryServerInformation = 0x03;
    public static final int QueryApplicationNamespaces = 0x04;
    public static final int QueryExtensionList = 0x05;
    public static final int QueryExtensionMap = 0x06;
    public static final int QueryAttestationTypes = 0x07;
    public static final int QueryRNGs = 0x08;
    public static final int QueryValidations = 0x09;
    public static final int QueryProfiles = 0x0A;
    public static final int QueryCapabilities = 0x0B;
    public static final int QueryClientRegistrationMethods = 0x0C;
  }

  public static class CancellationResult
  {
    public static final int Canceled = 0x01;
    public static final int UnableToCancel = 0x02;
    public static final int Completed = 0x03;
    public static final int Failed = 0x04;
    public static final int Unavailable = 0x05;
  }

  public static class PutFunction
  {
    public static final int New = 0x01;
    public static final int Replace = 0x02;
  }

  public static class Operation
  {
    public static final int Create = 0x01;
    public static final int CreateKeyPair = 0x02;
    public static final int Register = 0x03;
    public static final int ReKey = 0x04;
    public static final int DeriveKey = 0x05;
    public static final int Certify = 0x06;
    public static final int ReCertify = 0x07;
    public static final int Locate = 0x08;
    public static final int Check = 0x09;
    public static final int Get = 0x0a;
    public static final int GetAttributes = 0x0b;
    public static final int GetAttributeList = 0x0c;
    public static final int AddAttribute = 0x0d;
    public static final int ModifyAttribute = 0x0e;
    public static final int DeleteAttribute = 0x0f;
    public static final int ObtainLease = 0x10;
    public static final int GetUsageAllocation = 0x11;
    public static final int Activate = 0x12;
    public static final int Revoke = 0x13;
    public static final int Destroy = 0x14;
    public static final int Archive = 0x15;
    public static final int Recover = 0x16;
    public static final int Validate = 0x17;
    public static final int Query = 0x18;
    public static final int Cancel = 0x19;
    public static final int Poll = 0x1a;
    public static final int Notify = 0x1b;
    public static final int Put = 0x1c;
    public static final int ReKeyPair = 0x1d;
    public static final int DiscoverVersions = 0x1e;
    public static final int Encrypt = 0x1f;
    public static final int Decrypt = 0x20;
    public static final int Sign = 0x21;
    public static final int SignatureVerify = 0x22;
    public static final int MAC = 0x23;
    public static final int MACVerify = 0x24;
    public static final int RNGRetrieve = 0x25;
    public static final int RNGSeed = 0x26;
    public static final int Hash = 0x27;
    public static final int CreateSplitKey = 0x28;
    public static final int JoinSplitKey = 0x29;

    // dyadic proprietary operations
    public static final int DyCreate = 0x80000001;
    public static final int DyDestroy = 0x80000002;
    public static final int DyLocate = 0x80000003;
    public static final int DyGet = 0x80000004;
    public static final int DyModifyAttribute = 0x80000005;
    public static final int DyModifyAttributes = 0x80000006;
    public static final int DyRegister = 0x80000007;
    public static final int DyRefreshKey = 0x80000008;
    public static final int DyDerive = 0x80000009;
    public static final int DyWrap = 0x8000000a;
    public static final int DyUnWrap = 0x8000000b;
    public static final int DyUpdateData = 0x8000000c;
    public static final int DyAddPair = 0x8000000f;
    public static final int DyAddAuxiliary = 0x80000010;
    public static final int DyRemovePair = 0x80000011;
    public static final int DyRemoveAuxiliary = 0x80000012;
    public static final int DyGetTopology = 0x80000013;
    public static final int DyTestTopology = 0x80000014;
    public static final int DyLogin = 0x80000015;
    public static final int DyUpdateUserPassword = 0x80000016;
    public static final int DyRecoverSoPassword = 0x80000017;
    public static final int DyRecoverPartition = 0x80000018;
    public static final int DyGetAttributes = 0x80000019;
    public static final int DyGetRootCaCertificate = 0x80000020;
    public static final int DyGetQuorumTransaction = 0x80000021;
    public static final int DyListQuorumTransactions = 0x80000022;
    public static final int DyDeleteQuorumTransaction = 0x80000023;
    public static final int DyApproveQuorumTransaction = 0x80000024;
    public static final int DyGetSelfCertificate = 0x80000025;
    public static final int DyGetServerCertificate = 0x80000026;
    public static final int DyExecuteQuorumTransaction = 0x80000027;
    public static final int DyDestroySecretData = 0x80000028;
    public static final int DyUpdateSecretData = 0x80000029;
    public static final int DyRenewClientCertificate = 0x8000002a;
    public static final int DyUpdateRole = 0x8000002b;
    public static final int DyTestHealth = 0x8000002c;
    public static final int DyGetObjectGroups = 0x8000002d;
    public static final int DyChangePartitionUserRole = 0x8000002e;
    public static final int DyLogout = 0x8000002f;
    public static final int DyGetSystemKey = 0x80000030;

    public static final int DyCreateSecretData = 0x80000031;
    public static final int DyAddTriplet = 0x80000032;

    // these operations are used for authorization only, it do not
    // reflect a action which can be triggered externally
    // it is used to refine the operations list used for authorization
    public static final int DyCreatePartition = 0x80000040;
    public static final int DyDestroyPartition = 0x80000041;
    public static final int DyGetKeyMaterial = 0x80000042;
    public static final int DyGenerateTrustedKey = 0x80000043;
    public static final int DyGetSecretData = 0x80000044;
    public static final int DyCreateSoUser = 0x80000045;
    public static final int DyDeleteSoUser = 0x80000046;
    public static final int DyUpdateUserRetries = 0x80000047;
    public static final int DyDestroyStaticUsers = 0x80000048;
    public static final int DyDestroyStaticRoles = 0x80000049;

    public static final int DyModifyProtectedAttribute = 0x80000050;
    public static final int DyGetProtectedAttribute = 0x80000051;
    public static final int DySetQuorumTransaction = 0x80000052;
    public static final int DyRecoverQuorumValue = 0x80000053;
    public static final int DyUpdateSoLastActivity = 0x80000054;
    //        public static final int DyUpdateRollOperations =        0x80000054;
    public static final int DyCreateClient = 0x80000055;
    public static final int DyDeleteClient = 0x80000056;
    public static final int DyCreatePartitionUser = 0x80000057;
    public static final int DyDeletePartitionUser = 0x80000058;
    public static final int DyRecoverRootSoPassword = 0x80000059;
    public static final int DyLocatePartitions = 0x8000005a;
    public static final int DyGetPartition = 0x8000005b;
    public static final int DyCryptoDeriveKey = 0x8000005c;
    public static final int DyUpdateClientVersion = 0x8000005d;
    public static final int DyRefreshClientActivationCode = 0x8000005e;
    public static final int DyUpdateClient = 0x8000005f;

    public static final int DyGetObfuscatedAttribute = 0x80000060;
    public static final int DyPrecreateObject = 0x80000061;
    public static final int DyBackupDB = 0x80000062;
    public static final int DyRemoveFromCache = 0x80000063;
    public static final int DyUpdateReadOnlyAttributes = 0x80000064;
    public static final int DyListDbBackup = 0x80000065;
    public static final int DyDeleteDbBackup = 0x80000066;
    public static final int DyGetDbBackup = 0x80000067;
    public static final int DySignLogs = 0x80000068;

    public static final int DyRefreshClientSecret = 0x80000069;
    public static final int DyRefreshClientPublicKey = 0x8000006a;

    public static final int DyCreateRole = 0x8000006b;
    public static final int DyDeleteRole = 0x8000006c;
  }

  public static class ResultStatus
  {
    public static final int Success = 0x00;
    public static final int OperationFailed = 0x01;
    public static final int OperationPending = 0x02;
    public static final int OperationUndone = 0x03;
    public static final int DyFatalError = 0x80000001;
  }

  public static class ResultReason
  {
    public static final int ItemNotFound = 0x01;
    public static final int ResponseTooLarge = 0x02;
    public static final int AuthenticationNotSuccessful = 0x03;
    public static final int InvalidMessage = 0x04;
    public static final int OperationNotSupported = 0x05;
    public static final int MissingData = 0x06;
    public static final int InvalidField = 0x07;
    public static final int FeatureNotSupported = 0x08;
    public static final int OperationCanceledByRequester = 0x09;
    public static final int CryptographicFailure = 0x0a;
    public static final int IllegalOperation = 0x0b;
    public static final int PermissionDenied = 0x0c;
    public static final int ObjectArchived = 0x0d;
    public static final int IndexOutOfBounds = 0x0e;
    public static final int ApplicationNamespaceNotSupported = 0x0f;
    public static final int KeyFormatTypeNotSupported = 0x10;
    public static final int KeyCompressionTypeNotSupported = 0x11;
    public static final int EncodingOptionError = 0x12;
    public static final int KeyValueNotPresent = 0x13;
    public static final int AttestationRequired = 0x14;
    public static final int AttestationFailed = 0x15;
    public static final int GeneralFailure = 0x100;
    //public static final int PRF = 0x80000001;
  }

  public static class BatchErrorContinuationOption
  {
    public static final int Continue = 0x01;
    public static final int Stop = 0x02;
    public static final int Undo = 0x03;
  }

  public static class UsageLimitsUnit
  {
    public static final int Byte = 0x01;
    public static final int Object = 0x02;
  }

  public static class EncodingOption
  {
    public static final int NoEncoding = 0x01;
    public static final int TTLVEncoding = 0x02;
  }

  public static class ObjectGroupMember
  {
    public static final int GroupMemberFresh = 1;
    public static final int GroupMemberDefault = 2;
  }

  public static class AlternativeNameType
  {
    public static final int UninterpretedTextString = 0x01;
    public static final int URI = 0x02;
    public static final int ObjectSerialNumber = 0x03;
    public static final int EmailAddress = 0x04;
    public static final int DNSName = 0x05;
    public static final int X_500DistinguishedName = 0x06;
    public static final int IPAddress = 0x07;
  }

  public static class KeyValueLocationType
  {
    public static final int UninterpretedTextString = 0x01;
    public static final int URI = 0x02;
  }

  public static class RNGAlgorithm
  {
    public static final int Unspecified = 0x01;
    public static final int FIPS186_2 = 0x02;
    public static final int DRBG = 0x03;
    public static final int NRBG = 0x04;
    public static final int ANSIX9_31 = 0x05;
    public static final int ANSIX9_62 = 0x06;
    public static final int DyRngAlg = 0x80000001;
  }

  public static class DRBGAlgorithm
  {
    public static final int Unspecified = 0x01;
    public static final int Dual_EC = 0x02;
    public static final int Hash = 0x03;
    public static final int HMAC = 0x04;
    public static final int CTR = 0x05;
  }

  public static class ValidationAuthorityType
  {
    public static final int Unspecified = 0x01;
    public static final int NISTCMVP = 0x02;
    public static final int CommonCriteria = 0x03;
  }

  public static class ValidationType
  {
    public static final int Unspecified = 0x01;
    public static final int Hardware = 0x02;
    public static final int Software = 0x03;
    public static final int Firmware = 0x04;
    public static final int Hybrid = 0x05;
  }

  public static class UnwrapMode
  {
    public static final int Unspecified = 0x01;
    public static final int Processed = 0x02;
    public static final int NotProcessed = 0x03;
  }

  public static class DestroyAction
  {
    public static final int Unspecified = 0x01;
    public static final int KeyMaterialDeleted = 0x02;
    public static final int KeyMaterialShredded = 0x03;
    public static final int MetaDataDeleted = 0x04;
    public static final int MetaDataShredded = 0x05;
    public static final int Deleted = 0x06;
    public static final int Shredded = 0x07;
  }

  public static class ShreddingAlgorithm
  {
    public static final int Unspecified = 0x01;
    public static final int Cryptographic = 0x02;
    public static final int Unsupported = 0x03;
  }

  public static class RNGMode
  {
    public static final int Unspecified = 0x01;
    public static final int SharedInstantiation = 0x02;
    public static final int NonSharedInstantiation = 0x03;
  }

  public static class ClientRegistrationMethod
  {
    public static final int Unspecified = 0x01;
    public static final int ServerPreGenerated = 0x02;
    public static final int ServerOnDemand = 0x03;
    public static final int ClientGenerated = 0x04;
    public static final int ClientRegistered = 0x05;
  }

  public static class KeyWrapType
  {
    public static final int NotWrapped = 0x01;
    public static final int AsRegistered = 0x02;
  }

  public static class MaskGenerator
  {
    public static final int MGF1 = 0x01;
  }

  public static class CryptographicUsageMask
  {
    public static final int Sign = 0x00000001;
    public static final int Verify = 0x00000002;
    public static final int Encrypt = 0x00000004;
    public static final int Decrypt = 0x00000008;
    public static final int WrapKey = 0x00000010;
    public static final int UnwrapKey = 0x00000020;
    public static final int Export = 0x00000040;
    public static final int MACGenerate = 0x00000080;
    public static final int MACVerify = 0x00000100;
    public static final int DeriveKey = 0x00000200;
    public static final int ContentCommitment = 0x00000400;
    public static final int KeyAgreement = 0x00000800;
    public static final int CertificateSign = 0x00001000;
    public static final int CrlSign = 0x00002000;
    public static final int GenerateCryptogram = 0x00004000;
    public static final int ValidateCryptogram = 0x00008000;
    public static final int TranslateEncrypt = 0x00010000;
    public static final int TranslateDecrypt = 0x00020000;
    public static final int TranslateWrap = 0x00040000;
    public static final int TranslateUnwrap = 0x00080000;
  }

  // --------- Dy Enumerations -----------------

  public static class DyMode
  {
    public static final int None = 0;
    public static final int Activation = 1;
    public static final int Csr = 2;
    public static final int Full = 3;
    public static final int External = 4;
    public static final int Template = 5;
    public static final int Ephemeral = 6;
    public static final int Secret = 7;
    public static final int PublicKey = 8;
  }

  public static class DyPeriod
  {
    public static final int None = 0;
    public static final int LastDay = 1;
    public static final int LastWeek = 2;
    public static final int LastMonth = 3;
    public static final int LastYear = 4;
  }

  public static class DyGrantType
  {
    public static final int None = 0;
    public static final int ClientCredentials = 1;
    public static final int Password = 2;
    public static final int JwtBearer = 3;
  }

  public static class DyPartitionFipsRequirements
  {
    public static final int None = 0;
    public static final int Preferred = 1;
    public static final int Mandatory = 2;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy