Org.BouncyCastle.Tls.TlsUtilities
namespace Org.BouncyCastle.Tls
{
public abstract class TlsUtilities
{
public static readonly byte[] EmptyBytes;
public static readonly short[] EmptyShorts;
public static readonly int[] EmptyInts;
public static readonly long[] EmptyLongs;
public static readonly string[] EmptyStrings;
public static void CheckUint8(short i);
public static void CheckUint8(int i);
public static void CheckUint8(long i);
public static void CheckUint16(int i);
public static void CheckUint16(long i);
public static void CheckUint24(int i);
public static void CheckUint24(long i);
public static void CheckUint32(long i);
public static void CheckUint48(long i);
public static void CheckUint64(long i);
public static bool IsValidUint8(short i);
public static bool IsValidUint8(int i);
public static bool IsValidUint8(long i);
public static bool IsValidUint16(int i);
public static bool IsValidUint16(long i);
public static bool IsValidUint24(int i);
public static bool IsValidUint24(long i);
public static bool IsValidUint32(long i);
public static bool IsValidUint48(long i);
public static bool IsValidUint64(long i);
public static bool IsSsl(TlsContext context);
public static bool IsTlsV10(ProtocolVersion version);
public static bool IsTlsV10(TlsContext context);
public static bool IsTlsV11(ProtocolVersion version);
public static bool IsTlsV11(TlsContext context);
public static bool IsTlsV12(ProtocolVersion version);
public static bool IsTlsV12(TlsContext context);
public static bool IsTlsV13(ProtocolVersion version);
public static bool IsTlsV13(TlsContext context);
public static void WriteUint8(short i, Stream output);
public static void WriteUint8(int i, Stream output);
public static void WriteUint8(short i, byte[] buf, int offset);
public static void WriteUint8(int i, byte[] buf, int offset);
public static void WriteUint16(int i, Stream output);
public static void WriteUint16(int i, byte[] buf, int offset);
public static void WriteUint24(int i, Stream output);
public static void WriteUint24(int i, byte[] buf, int offset);
public static void WriteUint32(long i, Stream output);
public static void WriteUint32(long i, byte[] buf, int offset);
public static void WriteUint48(long i, Stream output);
public static void WriteUint48(long i, byte[] buf, int offset);
public static void WriteUint64(long i, Stream output);
public static void WriteUint64(long i, byte[] buf, int offset);
public static void WriteOpaque8(byte[] buf, Stream output);
public static void WriteOpaque8(byte[] data, byte[] buf, int off);
public static void WriteOpaque16(byte[] buf, Stream output);
public static void WriteOpaque16(byte[] data, byte[] buf, int off);
public static void WriteOpaque24(byte[] buf, Stream output);
public static void WriteOpaque24(byte[] data, byte[] buf, int off);
public static void WriteUint8Array(short[] u8s, Stream output);
public static void WriteUint8Array(short[] u8s, byte[] buf, int offset);
public static void WriteUint8ArrayWithUint8Length(short[] u8s, Stream output);
public static void WriteUint8ArrayWithUint8Length(short[] u8s, byte[] buf, int offset);
public static void WriteUint16Array(int[] u16s, Stream output);
public static void WriteUint16Array(int[] u16s, byte[] buf, int offset);
public static void WriteUint16ArrayWithUint8Length(int[] u16s, byte[] buf, int offset);
public static void WriteUint16ArrayWithUint16Length(int[] u16s, Stream output);
public static void WriteUint16ArrayWithUint16Length(int[] u16s, byte[] buf, int offset);
public static byte[] DecodeOpaque8(byte[] buf);
public static byte[] DecodeOpaque8(byte[] buf, int minLength);
public static byte[] DecodeOpaque16(byte[] buf);
public static byte[] DecodeOpaque16(byte[] buf, int minLength);
public static short DecodeUint8(byte[] buf);
public static short[] DecodeUint8ArrayWithUint8Length(byte[] buf);
public static int DecodeUint16(byte[] buf);
public static int[] DecodeUint16ArrayWithUint8Length(byte[] buf);
public static long DecodeUint32(byte[] buf);
public static byte[] EncodeOpaque8(byte[] buf);
public static byte[] EncodeOpaque16(byte[] buf);
public static byte[] EncodeOpaque24(byte[] buf);
public static byte[] EncodeUint8(short u8);
public static byte[] EncodeUint8ArrayWithUint8Length(short[] u8s);
public static byte[] EncodeUint16(int u16);
public static byte[] EncodeUint16ArrayWithUint8Length(int[] u16s);
public static byte[] EncodeUint16ArrayWithUint16Length(int[] u16s);
public static byte[] EncodeUint24(int u24);
public static byte[] EncodeUint32(long u32);
public static byte[] EncodeVersion(ProtocolVersion version);
public static int ReadInt32(byte[] buf, int offset);
public static short ReadUint8(Stream input);
public static short ReadUint8(byte[] buf, int offset);
public static int ReadUint16(Stream input);
public static int ReadUint16(byte[] buf, int offset);
public static int ReadUint24(Stream input);
public static int ReadUint24(byte[] buf, int offset);
public static long ReadUint32(Stream input);
public static long ReadUint32(byte[] buf, int offset);
public static long ReadUint48(Stream input);
public static long ReadUint48(byte[] buf, int offset);
public static byte[] ReadAllOrNothing(int length, Stream input);
public static byte[] ReadFully(int length, Stream input);
public static void ReadFully(byte[] buf, Stream input);
public static byte[] ReadOpaque8(Stream input);
public static byte[] ReadOpaque8(Stream input, int minLength);
public static byte[] ReadOpaque8(Stream input, int minLength, int maxLength);
public static byte[] ReadOpaque16(Stream input);
public static byte[] ReadOpaque16(Stream input, int minLength);
public static byte[] ReadOpaque24(Stream input);
public static byte[] ReadOpaque24(Stream input, int minLength);
public static short[] ReadUint8Array(int count, Stream input);
public static short[] ReadUint8ArrayWithUint8Length(Stream input, int minLength);
public static int[] ReadUint16Array(int count, Stream input);
public static ProtocolVersion ReadVersion(byte[] buf, int offset);
public static ProtocolVersion ReadVersion(Stream input);
public static Asn1Object ReadAsn1Object(byte[] encoding);
public static void RequireDerEncoding(Asn1Encodable asn1, byte[] encoding);
public static void WriteGmtUnixTime(byte[] buf, int offset);
public static void WriteVersion(ProtocolVersion version, Stream output);
public static void WriteVersion(ProtocolVersion version, byte[] buf, int offset);
public static void AddIfSupported(IList<SignatureAndHashAlgorithm> supportedAlgs, TlsCrypto crypto, SignatureAndHashAlgorithm alg);
public static void AddIfSupported(IList<int> supportedGroups, TlsCrypto crypto, int namedGroup);
public static void AddIfSupported(IList<int> supportedGroups, TlsCrypto crypto, int[] namedGroups);
public static bool AddToSet<T>(IList<T> s, T i);
public static IList<SignatureAndHashAlgorithm> GetDefaultDssSignatureAlgorithms();
public static IList<SignatureAndHashAlgorithm> GetDefaultECDsaSignatureAlgorithms();
public static IList<SignatureAndHashAlgorithm> GetDefaultRsaSignatureAlgorithms();
public static SignatureAndHashAlgorithm GetDefaultSignatureAlgorithm(short signatureAlgorithm);
public static IList<SignatureAndHashAlgorithm> GetDefaultSignatureAlgorithms(short signatureAlgorithm);
public static IList<SignatureAndHashAlgorithm> GetDefaultSupportedSignatureAlgorithms(TlsContext context);
public static IList<SignatureAndHashAlgorithm> GetSupportedSignatureAlgorithms(TlsContext context, IList<SignatureAndHashAlgorithm> candidates);
public static byte[] GetExtensionData(IDictionary<int, byte[]> extensions, int extensionType);
public static bool HasExpectedEmptyExtensionData(IDictionary<int, byte[]> extensions, int extensionType, short alertDescription);
public static TlsSession ImportSession(byte[] sessionID, SessionParameters sessionParameters);
public static bool IsNullOrContainsNull(object[] array);
public static bool IsNullOrEmpty<T>(T[] array);
public static bool IsNullOrEmpty(string s);
public static bool IsNullOrEmpty<T>(IList<T> v);
public static bool IsSignatureAlgorithmsExtensionAllowed(ProtocolVersion version);
public static short GetLegacyClientCertType(short signatureAlgorithm);
public static short GetLegacySignatureAlgorithmClient(short clientCertificateType);
public static short GetLegacySignatureAlgorithmClientCert(short clientCertificateType);
public static short GetLegacySignatureAlgorithmServer(int keyExchangeAlgorithm);
public static short GetLegacySignatureAlgorithmServerCert(int keyExchangeAlgorithm);
public static IList<SignatureAndHashAlgorithm> GetLegacySupportedSignatureAlgorithms();
public static void EncodeSupportedSignatureAlgorithms(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, Stream output);
public static IList<SignatureAndHashAlgorithm> ParseSupportedSignatureAlgorithms(Stream input);
public static void VerifySupportedSignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm);
public static bool ContainsSignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm);
public static bool ContainsAnySignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, short signatureAlgorithm);
public static TlsSecret Prf(SecurityParameters securityParameters, TlsSecret secret, string asciiLabel, byte[] seed, int length);
public static byte[] Clone(byte[] data);
public static string[] Clone(string[] s);
public static bool ConstantTimeAreEqual(int len, byte[] a, int aOff, byte[] b, int bOff);
public static byte[] CopyOfRangeExact(byte[] original, int from, int to);
public static byte[] CalculateExporterSeed(SecurityParameters securityParameters, byte[] context);
public static DerObjectIdentifier GetOidForHashAlgorithm(short hashAlgorithm);
public static bool HasSigningCapability(short clientCertificateType);
public static IList<T> VectorOfOne<T>(T obj);
public static int GetCipherType(int cipherSuite);
public static int GetEncryptionAlgorithm(int cipherSuite);
public static int GetEncryptionAlgorithmType(int encryptionAlgorithm);
public static int GetKeyExchangeAlgorithm(int cipherSuite);
public static IList<int> GetKeyExchangeAlgorithms(int[] cipherSuites);
public static int GetMacAlgorithm(int cipherSuite);
public static ProtocolVersion GetMinimumVersion(int cipherSuite);
public static IList<int> GetNamedGroupRoles(int[] cipherSuites);
public static IList<int> GetNamedGroupRoles(IList<int> keyExchangeAlgorithms);
public static bool IsAeadCipherSuite(int cipherSuite);
public static bool IsBlockCipherSuite(int cipherSuite);
public static bool IsStreamCipherSuite(int cipherSuite);
public static bool IsValidCipherSuiteForSignatureAlgorithms(int cipherSuite, IList<short> sigAlgs);
public static bool IsValidSignatureSchemeForServerKeyExchange(int signatureScheme, int keyExchangeAlgorithm);
public static bool IsValidVersionForCipherSuite(int cipherSuite, ProtocolVersion version);
public static SignatureAndHashAlgorithm ChooseSignatureAndHashAlgorithm(TlsContext context, IList<SignatureAndHashAlgorithm> sigHashAlgs, short signatureAlgorithm);
public static SignatureAndHashAlgorithm ChooseSignatureAndHashAlgorithm(ProtocolVersion negotiatedVersion, IList<SignatureAndHashAlgorithm> sigHashAlgs, short signatureAlgorithm);
public static IList<short> GetUsableSignatureAlgorithms(IList<SignatureAndHashAlgorithm> sigHashAlgs);
public static int GetCommonCipherSuite13(ProtocolVersion negotiatedVersion, int[] peerCipherSuites, int[] localCipherSuites, bool useLocalOrder);
public static int[] GetCommonCipherSuites(int[] peerCipherSuites, int[] localCipherSuites, bool useLocalOrder);
public static int[] GetSupportedCipherSuites(TlsCrypto crypto, int[] suites);
public static int[] GetSupportedCipherSuites(TlsCrypto crypto, int[] suites, int suitesOff, int suitesCount);
public static bool IsSupportedCipherSuite(TlsCrypto crypto, int cipherSuite);
public static bool IsSupportedKeyExchange(TlsCrypto crypto, int keyExchangeAlgorithm);
public static void CheckPeerSigAlgs(TlsContext context, TlsCertificate[] peerCertPath);
public static bool ContainsNonAscii(byte[] bs);
public static bool ContainsNonAscii(string s);
public static TlsSecret GenerateEncryptedPreMasterSecret(TlsContext context, TlsEncryptor encryptor, Stream output);
public static bool IsTimeout(SocketException e);
protected TlsUtilities();
}
}