<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" />

Org.BouncyCastle.Tls.TlsExtensionsUtilities

public static class TlsExtensionsUtilities
namespace Org.BouncyCastle.Tls { public static class TlsExtensionsUtilities { public static IDictionary<int, byte[]> EnsureExtensionsInitialised(IDictionary<int, byte[]> extensions); public static void AddAlpnExtensionClient(IDictionary<int, byte[]> extensions, IList<ProtocolName> protocolNameList); public static void AddAlpnExtensionServer(IDictionary<int, byte[]> extensions, ProtocolName protocolName); public static void AddCertificateAuthoritiesExtension(IDictionary<int, byte[]> extensions, IList<X509Name> authorities); public static void AddClientCertificateTypeExtensionClient(IDictionary<int, byte[]> extensions, short[] certificateTypes); public static void AddClientCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions, short certificateType); public static void AddClientCertificateUrlExtension(IDictionary<int, byte[]> extensions); public static void AddCompressCertificateExtension(IDictionary<int, byte[]> extensions, int[] algorithms); public static void AddConnectionIDExtension(IDictionary<int, byte[]> extensions, byte[] connectionID); public static void AddCookieExtension(IDictionary<int, byte[]> extensions, byte[] cookie); public static void AddEarlyDataIndication(IDictionary<int, byte[]> extensions); public static void AddEarlyDataMaxSize(IDictionary<int, byte[]> extensions, long maxSize); public static void AddEmptyExtensionData(IDictionary<int, byte[]> extensions, int extType); public static void AddEncryptThenMacExtension(IDictionary<int, byte[]> extensions); public static void AddExtendedMasterSecretExtension(IDictionary<int, byte[]> extensions); public static void AddHeartbeatExtension(IDictionary<int, byte[]> extensions, HeartbeatExtension heartbeatExtension); public static void AddKeyShareClientHello(IDictionary<int, byte[]> extensions, IList<KeyShareEntry> clientShares); public static void AddKeyShareHelloRetryRequest(IDictionary<int, byte[]> extensions, int namedGroup); public static void AddKeyShareServerHello(IDictionary<int, byte[]> extensions, KeyShareEntry serverShare); public static void AddMaxFragmentLengthExtension(IDictionary<int, byte[]> extensions, short maxFragmentLength); public static void AddOidFiltersExtension(IDictionary<int, byte[]> extensions, IDictionary<DerObjectIdentifier, byte[]> filters); public static void AddPaddingExtension(IDictionary<int, byte[]> extensions, int dataLength); public static void AddPostHandshakeAuthExtension(IDictionary<int, byte[]> extensions); public static void AddPreSharedKeyClientHello(IDictionary<int, byte[]> extensions, OfferedPsks offeredPsks); public static void AddPreSharedKeyServerHello(IDictionary<int, byte[]> extensions, int selectedIdentity); public static void AddPskKeyExchangeModesExtension(IDictionary<int, byte[]> extensions, short[] modes); public static void AddRecordSizeLimitExtension(IDictionary<int, byte[]> extensions, int recordSizeLimit); public static void AddServerCertificateTypeExtensionClient(IDictionary<int, byte[]> extensions, short[] certificateTypes); public static void AddServerCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions, short certificateType); public static void AddServerNameExtensionClient(IDictionary<int, byte[]> extensions, IList<ServerName> serverNameList); public static void AddServerNameExtensionServer(IDictionary<int, byte[]> extensions); public static void AddSignatureAlgorithmsExtension(IDictionary<int, byte[]> extensions, IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms); public static void AddSignatureAlgorithmsCertExtension(IDictionary<int, byte[]> extensions, IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms); public static void AddStatusRequestExtension(IDictionary<int, byte[]> extensions, CertificateStatusRequest statusRequest); public static void AddStatusRequestV2Extension(IDictionary<int, byte[]> extensions, IList<CertificateStatusRequestItemV2> statusRequestV2); public static void AddSupportedGroupsExtension(IDictionary<int, byte[]> extensions, IList<int> namedGroups); public static void AddSupportedPointFormatsExtension(IDictionary<int, byte[]> extensions, short[] ecPointFormats); public static void AddSupportedVersionsExtensionClient(IDictionary<int, byte[]> extensions, ProtocolVersion[] versions); public static void AddSupportedVersionsExtensionServer(IDictionary<int, byte[]> extensions, ProtocolVersion selectedVersion); public static void AddTruncatedHmacExtension(IDictionary<int, byte[]> extensions); public static void AddTrustedCAKeysExtensionClient(IDictionary<int, byte[]> extensions, IList<TrustedAuthority> trustedAuthoritiesList); public static void AddTrustedCAKeysExtensionServer(IDictionary<int, byte[]> extensions); public static IList<ProtocolName> GetAlpnExtensionClient(IDictionary<int, byte[]> extensions); public static ProtocolName GetAlpnExtensionServer(IDictionary<int, byte[]> extensions); public static IList<X509Name> GetCertificateAuthoritiesExtension(IDictionary<int, byte[]> extensions); public static short[] GetClientCertificateTypeExtensionClient(IDictionary<int, byte[]> extensions); public static short GetClientCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions); public static short GetClientCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions, short defaultValue); public static int[] GetCompressCertificateExtension(IDictionary<int, byte[]> extensions); public static byte[] GetConnectionIDExtension(IDictionary<int, byte[]> extensions); public static byte[] GetCookieExtension(IDictionary<int, byte[]> extensions); public static long GetEarlyDataMaxSize(IDictionary<int, byte[]> extensions); public static HeartbeatExtension GetHeartbeatExtension(IDictionary<int, byte[]> extensions); public static IList<KeyShareEntry> GetKeyShareClientHello(IDictionary<int, byte[]> extensions); public static int GetKeyShareHelloRetryRequest(IDictionary<int, byte[]> extensions); public static KeyShareEntry GetKeyShareServerHello(IDictionary<int, byte[]> extensions); public static short GetMaxFragmentLengthExtension(IDictionary<int, byte[]> extensions); public static IDictionary<DerObjectIdentifier, byte[]> GetOidFiltersExtension(IDictionary<int, byte[]> extensions); public static int GetPaddingExtension(IDictionary<int, byte[]> extensions); public static OfferedPsks GetPreSharedKeyClientHello(IDictionary<int, byte[]> extensions); public static int GetPreSharedKeyServerHello(IDictionary<int, byte[]> extensions); public static short[] GetPskKeyExchangeModesExtension(IDictionary<int, byte[]> extensions); public static int GetRecordSizeLimitExtension(IDictionary<int, byte[]> extensions); public static short[] GetServerCertificateTypeExtensionClient(IDictionary<int, byte[]> extensions); public static short GetServerCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions); public static short GetServerCertificateTypeExtensionServer(IDictionary<int, byte[]> extensions, short defaultValue); public static IList<ServerName> GetServerNameExtensionClient(IDictionary<int, byte[]> extensions); public static IList<SignatureAndHashAlgorithm> GetSignatureAlgorithmsExtension(IDictionary<int, byte[]> extensions); public static IList<SignatureAndHashAlgorithm> GetSignatureAlgorithmsCertExtension(IDictionary<int, byte[]> extensions); public static CertificateStatusRequest GetStatusRequestExtension(IDictionary<int, byte[]> extensions); public static IList<CertificateStatusRequestItemV2> GetStatusRequestV2Extension(IDictionary<int, byte[]> extensions); public static int[] GetSupportedGroupsExtension(IDictionary<int, byte[]> extensions); public static short[] GetSupportedPointFormatsExtension(IDictionary<int, byte[]> extensions); public static ProtocolVersion[] GetSupportedVersionsExtensionClient(IDictionary<int, byte[]> extensions); public static ProtocolVersion GetSupportedVersionsExtensionServer(IDictionary<int, byte[]> extensions); public static IList<TrustedAuthority> GetTrustedCAKeysExtensionClient(IDictionary<int, byte[]> extensions); public static bool HasClientCertificateUrlExtension(IDictionary<int, byte[]> extensions); public static bool HasEarlyDataIndication(IDictionary<int, byte[]> extensions); public static bool HasEncryptThenMacExtension(IDictionary<int, byte[]> extensions); public static bool HasExtendedMasterSecretExtension(IDictionary<int, byte[]> extensions); public static bool HasServerNameExtensionServer(IDictionary<int, byte[]> extensions); public static bool HasPostHandshakeAuthExtension(IDictionary<int, byte[]> extensions); public static bool HasTruncatedHmacExtension(IDictionary<int, byte[]> extensions); public static bool HasTrustedCAKeysExtensionServer(IDictionary<int, byte[]> extensions); public static byte[] CreateAlpnExtensionClient(IList<ProtocolName> protocolNameList); public static byte[] CreateAlpnExtensionServer(ProtocolName protocolName); public static byte[] CreateCertificateAuthoritiesExtension(IList<X509Name> authorities); public static byte[] CreateCertificateTypeExtensionClient(short[] certificateTypes); public static byte[] CreateCertificateTypeExtensionServer(short certificateType); public static byte[] CreateClientCertificateUrlExtension(); public static byte[] CreateCompressCertificateExtension(int[] algorithms); public static byte[] CreateConnectionIDExtension(byte[] connectionID); public static byte[] CreateCookieExtension(byte[] cookie); public static byte[] CreateEarlyDataIndication(); public static byte[] CreateEarlyDataMaxSize(long maxSize); public static byte[] CreateEmptyExtensionData(); public static byte[] CreateEncryptThenMacExtension(); public static byte[] CreateExtendedMasterSecretExtension(); public static byte[] CreateHeartbeatExtension(HeartbeatExtension heartbeatExtension); public static byte[] CreateKeyShareClientHello(IList<KeyShareEntry> clientShares); public static byte[] CreateKeyShareHelloRetryRequest(int namedGroup); public static byte[] CreateKeyShareServerHello(KeyShareEntry serverShare); public static byte[] CreateMaxFragmentLengthExtension(short maxFragmentLength); public static byte[] CreateOidFiltersExtension(IDictionary<DerObjectIdentifier, byte[]> filters); public static byte[] CreatePaddingExtension(int dataLength); public static byte[] CreatePostHandshakeAuthExtension(); public static byte[] CreatePreSharedKeyClientHello(OfferedPsks offeredPsks); public static byte[] CreatePreSharedKeyServerHello(int selectedIdentity); public static byte[] CreatePskKeyExchangeModesExtension(short[] modes); public static byte[] CreateRecordSizeLimitExtension(int recordSizeLimit); public static byte[] CreateServerNameExtensionClient(IList<ServerName> serverNameList); public static byte[] CreateServerNameExtensionServer(); public static byte[] CreateSignatureAlgorithmsExtension(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms); public static byte[] CreateSignatureAlgorithmsCertExtension(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms); public static byte[] CreateStatusRequestExtension(CertificateStatusRequest statusRequest); public static byte[] CreateStatusRequestV2Extension(IList<CertificateStatusRequestItemV2> statusRequestV2); public static byte[] CreateSupportedGroupsExtension(IList<int> namedGroups); public static byte[] CreateSupportedPointFormatsExtension(short[] ecPointFormats); public static byte[] CreateSupportedVersionsExtensionClient(ProtocolVersion[] versions); public static byte[] CreateSupportedVersionsExtensionServer(ProtocolVersion selectedVersion); public static byte[] CreateTruncatedHmacExtension(); public static byte[] CreateTrustedCAKeysExtensionClient(IList<TrustedAuthority> trustedAuthoritiesList); public static byte[] CreateTrustedCAKeysExtensionServer(); public static IList<ProtocolName> ReadAlpnExtensionClient(byte[] extensionData); public static ProtocolName ReadAlpnExtensionServer(byte[] extensionData); public static IList<X509Name> ReadCertificateAuthoritiesExtension(byte[] extensionData); public static short[] ReadCertificateTypeExtensionClient(byte[] extensionData); public static short ReadCertificateTypeExtensionServer(byte[] extensionData); public static bool ReadClientCertificateUrlExtension(byte[] extensionData); public static int[] ReadCompressCertificateExtension(byte[] extensionData); public static byte[] ReadConnectionIDExtension(byte[] extensionData); public static byte[] ReadCookieExtension(byte[] extensionData); public static bool ReadEarlyDataIndication(byte[] extensionData); public static long ReadEarlyDataMaxSize(byte[] extensionData); public static bool ReadEncryptThenMacExtension(byte[] extensionData); public static bool ReadExtendedMasterSecretExtension(byte[] extensionData); public static HeartbeatExtension ReadHeartbeatExtension(byte[] extensionData); public static IList<KeyShareEntry> ReadKeyShareClientHello(byte[] extensionData); public static int ReadKeyShareHelloRetryRequest(byte[] extensionData); public static KeyShareEntry ReadKeyShareServerHello(byte[] extensionData); public static short ReadMaxFragmentLengthExtension(byte[] extensionData); public static IDictionary<DerObjectIdentifier, byte[]> ReadOidFiltersExtension(byte[] extensionData); public static int ReadPaddingExtension(byte[] extensionData); public static bool ReadPostHandshakeAuthExtension(byte[] extensionData); public static OfferedPsks ReadPreSharedKeyClientHello(byte[] extensionData); public static int ReadPreSharedKeyServerHello(byte[] extensionData); public static short[] ReadPskKeyExchangeModesExtension(byte[] extensionData); public static int ReadRecordSizeLimitExtension(byte[] extensionData); public static IList<ServerName> ReadServerNameExtensionClient(byte[] extensionData); public static bool ReadServerNameExtensionServer(byte[] extensionData); public static IList<SignatureAndHashAlgorithm> ReadSignatureAlgorithmsExtension(byte[] extensionData); public static IList<SignatureAndHashAlgorithm> ReadSignatureAlgorithmsCertExtension(byte[] extensionData); public static CertificateStatusRequest ReadStatusRequestExtension(byte[] extensionData); public static IList<CertificateStatusRequestItemV2> ReadStatusRequestV2Extension(byte[] extensionData); public static int[] ReadSupportedGroupsExtension(byte[] extensionData); public static short[] ReadSupportedPointFormatsExtension(byte[] extensionData); public static ProtocolVersion[] ReadSupportedVersionsExtensionClient(byte[] extensionData); public static ProtocolVersion ReadSupportedVersionsExtensionServer(byte[] extensionData); public static bool ReadTruncatedHmacExtension(byte[] extensionData); public static IList<TrustedAuthority> ReadTrustedCAKeysExtensionClient(byte[] extensionData); public static bool ReadTrustedCAKeysExtensionServer(byte[] extensionData); } }