123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Bcpg.Sig
- {
- /**
- * packet giving signature expiration time.
- */
- public class Features
- : SignatureSubpacket
- {
- /** Identifier for the Modification Detection (packets 18 and 19) */
- public static readonly byte FEATURE_MODIFICATION_DETECTION = 0x01;
- /** Identifier for the AEAD Encrypted Data Packet (packet 20) and version 5
- Symmetric-Key Encrypted Session Key Packets (packet 3) */
- public static readonly byte FEATURE_AEAD_ENCRYPTED_DATA = 0x02;
- /** Identifier for the Version 5 Public-Key Packet format and corresponding new
- fingerprint format */
- public static readonly byte FEATURE_VERSION_5_PUBLIC_KEY = 0x04;
- private static byte[] featureToByteArray(byte feature)
- {
- byte[] data = new byte[1];
- data[0] = feature;
- return data;
- }
- public Features(
- bool critical,
- bool isLongLength,
- byte[] data): base(SignatureSubpacketTag.Features, critical, isLongLength, data)
- {
- }
-
- public Features(bool critical, byte features): this(critical, false, featureToByteArray(features))
- {
- }
-
- public Features(bool critical, int features): this(critical, false, featureToByteArray((byte)features))
- {
-
- }
- /**
- * Returns if modification detection is supported.
- */
- public bool SupportsModificationDetection
- {
- get { return SupportsFeature(FEATURE_MODIFICATION_DETECTION); }
- }
- /**
- * Returns if a particular feature is supported.
- */
- public bool SupportsFeature(byte feature)
- {
- return (data[0] & feature) != 0;
- }
- }
- }
- #pragma warning restore
- #endif
|