Table of Contents

Class TlsUtilities

Namespace
Org.BouncyCastle.Tls
Assembly
BouncyCastle.Cryptography.dll
public abstract class TlsUtilities
Inheritance
TlsUtilities
Inherited Members

Fields

EmptyBytes

public static readonly byte[] EmptyBytes

Field Value

byte[]

EmptyInts

public static readonly int[] EmptyInts

Field Value

int[]

EmptyLongs

public static readonly long[] EmptyLongs

Field Value

long[]

EmptyShorts

public static readonly short[] EmptyShorts

Field Value

short[]

EmptyStrings

public static readonly string[] EmptyStrings

Field Value

string[]

Methods

AddIfSupported(IList<SignatureAndHashAlgorithm>, TlsCrypto, SignatureAndHashAlgorithm)

public static void AddIfSupported(IList<SignatureAndHashAlgorithm> supportedAlgs, TlsCrypto crypto, SignatureAndHashAlgorithm alg)

Parameters

supportedAlgs IList<SignatureAndHashAlgorithm>
crypto TlsCrypto
alg SignatureAndHashAlgorithm

AddIfSupported(IList<int>, TlsCrypto, int)

public static void AddIfSupported(IList<int> supportedGroups, TlsCrypto crypto, int namedGroup)

Parameters

supportedGroups IList<int>
crypto TlsCrypto
namedGroup int

AddIfSupported(IList<int>, TlsCrypto, int[])

public static void AddIfSupported(IList<int> supportedGroups, TlsCrypto crypto, int[] namedGroups)

Parameters

supportedGroups IList<int>
crypto TlsCrypto
namedGroups int[]

AddToSet<T>(IList<T>, T)

public static bool AddToSet<T>(IList<T> s, T i)

Parameters

s IList<T>
i T

Returns

bool

Type Parameters

T

CalculateExporterSeed(SecurityParameters, byte[])

public static byte[] CalculateExporterSeed(SecurityParameters securityParameters, byte[] context)

Parameters

securityParameters SecurityParameters
context byte[]

Returns

byte[]

CheckPeerSigAlgs(TlsContext, TlsCertificate[])

Check the signature algorithm for certificates in the peer's CertPath as specified in RFC 5246 7.4.2, 7.4.4, 7.4.6 and similar rules for earlier TLS versions.

public static void CheckPeerSigAlgs(TlsContext context, TlsCertificate[] peerCertPath)

Parameters

context TlsContext
peerCertPath TlsCertificate[]

Remarks

The supplied CertPath should include the trust anchor (its signature algorithm isn't checked, but in the general case checking a certificate requires the issuer certificate).

Exceptions

IOException

if any certificate in the CertPath (excepting the trust anchor) has a signature algorithm that is not one of the locally supported signature algorithms.

CheckUint16(int)

public static void CheckUint16(int i)

Parameters

i int

CheckUint16(long)

public static void CheckUint16(long i)

Parameters

i long

CheckUint24(int)

public static void CheckUint24(int i)

Parameters

i int

CheckUint24(long)

public static void CheckUint24(long i)

Parameters

i long

CheckUint32(long)

public static void CheckUint32(long i)

Parameters

i long

CheckUint48(long)

public static void CheckUint48(long i)

Parameters

i long

CheckUint64(long)

public static void CheckUint64(long i)

Parameters

i long

CheckUint8(short)

public static void CheckUint8(short i)

Parameters

i short

CheckUint8(int)

public static void CheckUint8(int i)

Parameters

i int

CheckUint8(long)

public static void CheckUint8(long i)

Parameters

i long

ChooseSignatureAndHashAlgorithm(ProtocolVersion, IList<SignatureAndHashAlgorithm>, short)

public static SignatureAndHashAlgorithm ChooseSignatureAndHashAlgorithm(ProtocolVersion negotiatedVersion, IList<SignatureAndHashAlgorithm> sigHashAlgs, short signatureAlgorithm)

Parameters

negotiatedVersion ProtocolVersion
sigHashAlgs IList<SignatureAndHashAlgorithm>
signatureAlgorithm short

Returns

SignatureAndHashAlgorithm

Exceptions

IOException

ChooseSignatureAndHashAlgorithm(TlsContext, IList<SignatureAndHashAlgorithm>, short)

public static SignatureAndHashAlgorithm ChooseSignatureAndHashAlgorithm(TlsContext context, IList<SignatureAndHashAlgorithm> sigHashAlgs, short signatureAlgorithm)

Parameters

context TlsContext
sigHashAlgs IList<SignatureAndHashAlgorithm>
signatureAlgorithm short

Returns

SignatureAndHashAlgorithm

Exceptions

IOException

Clone(byte[])

public static byte[] Clone(byte[] data)

Parameters

data byte[]

Returns

byte[]

Clone(string[])

public static string[] Clone(string[] s)

Parameters

s string[]

Returns

string[]

ConstantTimeAreEqual(int, byte[], int, byte[], int)

public static bool ConstantTimeAreEqual(int len, byte[] a, int aOff, byte[] b, int bOff)

Parameters

len int
a byte[]
aOff int
b byte[]
bOff int

Returns

bool

ContainsAnySignatureAlgorithm(IList<SignatureAndHashAlgorithm>, short)

public static bool ContainsAnySignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, short signatureAlgorithm)

Parameters

supportedSignatureAlgorithms IList<SignatureAndHashAlgorithm>
signatureAlgorithm short

Returns

bool

ContainsNonAscii(byte[])

public static bool ContainsNonAscii(byte[] bs)

Parameters

bs byte[]

Returns

bool

ContainsNonAscii(string)

public static bool ContainsNonAscii(string s)

Parameters

s string

Returns

bool

ContainsSignatureAlgorithm(IList<SignatureAndHashAlgorithm>, SignatureAndHashAlgorithm)

public static bool ContainsSignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm)

Parameters

supportedSignatureAlgorithms IList<SignatureAndHashAlgorithm>
signatureAlgorithm SignatureAndHashAlgorithm

Returns

bool

Exceptions

IOException

CopyOfRangeExact(byte[], int, int)

public static byte[] CopyOfRangeExact(byte[] original, int from, int to)

Parameters

original byte[]
from int
to int

Returns

byte[]

DecodeOpaque16(byte[])

public static byte[] DecodeOpaque16(byte[] buf)

Parameters

buf byte[]

Returns

byte[]

DecodeOpaque16(byte[], int)

public static byte[] DecodeOpaque16(byte[] buf, int minLength)

Parameters

buf byte[]
minLength int

Returns

byte[]

DecodeOpaque8(byte[])

public static byte[] DecodeOpaque8(byte[] buf)

Parameters

buf byte[]

Returns

byte[]

DecodeOpaque8(byte[], int)

public static byte[] DecodeOpaque8(byte[] buf, int minLength)

Parameters

buf byte[]
minLength int

Returns

byte[]

DecodeUint16(byte[])

public static int DecodeUint16(byte[] buf)

Parameters

buf byte[]

Returns

int

DecodeUint16ArrayWithUint8Length(byte[])

public static int[] DecodeUint16ArrayWithUint8Length(byte[] buf)

Parameters

buf byte[]

Returns

int[]

DecodeUint32(byte[])

public static long DecodeUint32(byte[] buf)

Parameters

buf byte[]

Returns

long

DecodeUint8(byte[])

public static short DecodeUint8(byte[] buf)

Parameters

buf byte[]

Returns

short

DecodeUint8ArrayWithUint8Length(byte[])

public static short[] DecodeUint8ArrayWithUint8Length(byte[] buf)

Parameters

buf byte[]

Returns

short[]

EncodeOpaque16(byte[])

public static byte[] EncodeOpaque16(byte[] buf)

Parameters

buf byte[]

Returns

byte[]

EncodeOpaque24(byte[])

public static byte[] EncodeOpaque24(byte[] buf)

Parameters

buf byte[]

Returns

byte[]

EncodeOpaque8(byte[])

public static byte[] EncodeOpaque8(byte[] buf)

Parameters

buf byte[]

Returns

byte[]

EncodeSupportedSignatureAlgorithms(IList<SignatureAndHashAlgorithm>, Stream)

public static void EncodeSupportedSignatureAlgorithms(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, Stream output)

Parameters

supportedSignatureAlgorithms IList<SignatureAndHashAlgorithm>
output Stream

Exceptions

IOException

EncodeUint16(int)

public static byte[] EncodeUint16(int u16)

Parameters

u16 int

Returns

byte[]

EncodeUint16ArrayWithUint16Length(int[])

public static byte[] EncodeUint16ArrayWithUint16Length(int[] u16s)

Parameters

u16s int[]

Returns

byte[]

EncodeUint16ArrayWithUint8Length(int[])

public static byte[] EncodeUint16ArrayWithUint8Length(int[] u16s)

Parameters

u16s int[]

Returns

byte[]

EncodeUint24(int)

public static byte[] EncodeUint24(int u24)

Parameters

u24 int

Returns

byte[]

EncodeUint32(long)

public static byte[] EncodeUint32(long u32)

Parameters

u32 long

Returns

byte[]

EncodeUint8(short)

public static byte[] EncodeUint8(short u8)

Parameters

u8 short

Returns

byte[]

EncodeUint8ArrayWithUint8Length(short[])

public static byte[] EncodeUint8ArrayWithUint8Length(short[] u8s)

Parameters

u8s short[]

Returns

byte[]

EncodeVersion(ProtocolVersion)

public static byte[] EncodeVersion(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

byte[]

GenerateEncryptedPreMasterSecret(TlsContext, TlsEncryptor, Stream)

Generate a pre_master_secret and send it encrypted to the server.

public static TlsSecret GenerateEncryptedPreMasterSecret(TlsContext context, TlsEncryptor encryptor, Stream output)

Parameters

context TlsContext
encryptor TlsEncryptor
output Stream

Returns

TlsSecret

Exceptions

IOException

GetCipherType(int)

public static int GetCipherType(int cipherSuite)

Parameters

cipherSuite int

Returns

int

GetCommonCipherSuite13(ProtocolVersion, int[], int[], bool)

public static int GetCommonCipherSuite13(ProtocolVersion negotiatedVersion, int[] peerCipherSuites, int[] localCipherSuites, bool useLocalOrder)

Parameters

negotiatedVersion ProtocolVersion
peerCipherSuites int[]
localCipherSuites int[]
useLocalOrder bool

Returns

int

GetCommonCipherSuites(int[], int[], bool)

public static int[] GetCommonCipherSuites(int[] peerCipherSuites, int[] localCipherSuites, bool useLocalOrder)

Parameters

peerCipherSuites int[]
localCipherSuites int[]
useLocalOrder bool

Returns

int[]

GetDefaultDssSignatureAlgorithms()

public static IList<SignatureAndHashAlgorithm> GetDefaultDssSignatureAlgorithms()

Returns

IList<SignatureAndHashAlgorithm>

GetDefaultECDsaSignatureAlgorithms()

public static IList<SignatureAndHashAlgorithm> GetDefaultECDsaSignatureAlgorithms()

Returns

IList<SignatureAndHashAlgorithm>

GetDefaultRsaSignatureAlgorithms()

public static IList<SignatureAndHashAlgorithm> GetDefaultRsaSignatureAlgorithms()

Returns

IList<SignatureAndHashAlgorithm>

GetDefaultSignatureAlgorithm(short)

public static SignatureAndHashAlgorithm GetDefaultSignatureAlgorithm(short signatureAlgorithm)

Parameters

signatureAlgorithm short

Returns

SignatureAndHashAlgorithm

GetDefaultSignatureAlgorithms(short)

public static IList<SignatureAndHashAlgorithm> GetDefaultSignatureAlgorithms(short signatureAlgorithm)

Parameters

signatureAlgorithm short

Returns

IList<SignatureAndHashAlgorithm>

GetDefaultSupportedSignatureAlgorithms(TlsContext)

public static IList<SignatureAndHashAlgorithm> GetDefaultSupportedSignatureAlgorithms(TlsContext context)

Parameters

context TlsContext

Returns

IList<SignatureAndHashAlgorithm>

GetEncryptionAlgorithm(int)

public static int GetEncryptionAlgorithm(int cipherSuite)

Parameters

cipherSuite int

Returns

int

GetEncryptionAlgorithmType(int)

public static int GetEncryptionAlgorithmType(int encryptionAlgorithm)

Parameters

encryptionAlgorithm int

Returns

int

GetExtensionData(IDictionary<int, byte[]>, int)

public static byte[] GetExtensionData(IDictionary<int, byte[]> extensions, int extensionType)

Parameters

extensions IDictionary<int, byte[]>
extensionType int

Returns

byte[]

GetKeyExchangeAlgorithm(int)

public static int GetKeyExchangeAlgorithm(int cipherSuite)

Parameters

cipherSuite int

Returns

int

GetKeyExchangeAlgorithms(int[])

public static IList<int> GetKeyExchangeAlgorithms(int[] cipherSuites)

Parameters

cipherSuites int[]

Returns

IList<int>

GetLegacyClientCertType(short)

public static short GetLegacyClientCertType(short signatureAlgorithm)

Parameters

signatureAlgorithm short

Returns

short

GetLegacySignatureAlgorithmClient(short)

public static short GetLegacySignatureAlgorithmClient(short clientCertificateType)

Parameters

clientCertificateType short

Returns

short

GetLegacySignatureAlgorithmClientCert(short)

public static short GetLegacySignatureAlgorithmClientCert(short clientCertificateType)

Parameters

clientCertificateType short

Returns

short

GetLegacySignatureAlgorithmServer(int)

public static short GetLegacySignatureAlgorithmServer(int keyExchangeAlgorithm)

Parameters

keyExchangeAlgorithm int

Returns

short

GetLegacySignatureAlgorithmServerCert(int)

public static short GetLegacySignatureAlgorithmServerCert(int keyExchangeAlgorithm)

Parameters

keyExchangeAlgorithm int

Returns

short

GetLegacySupportedSignatureAlgorithms()

public static IList<SignatureAndHashAlgorithm> GetLegacySupportedSignatureAlgorithms()

Returns

IList<SignatureAndHashAlgorithm>

GetMacAlgorithm(int)

public static int GetMacAlgorithm(int cipherSuite)

Parameters

cipherSuite int

Returns

int

GetMinimumVersion(int)

public static ProtocolVersion GetMinimumVersion(int cipherSuite)

Parameters

cipherSuite int

Returns

ProtocolVersion

GetNamedGroupRoles(IList<int>)

public static IList<int> GetNamedGroupRoles(IList<int> keyExchangeAlgorithms)

Parameters

keyExchangeAlgorithms IList<int>

Returns

IList<int>

GetNamedGroupRoles(int[])

public static IList<int> GetNamedGroupRoles(int[] cipherSuites)

Parameters

cipherSuites int[]

Returns

IList<int>

GetOidForHashAlgorithm(short)

public static DerObjectIdentifier GetOidForHashAlgorithm(short hashAlgorithm)

Parameters

hashAlgorithm short

Returns

DerObjectIdentifier

GetSupportedCipherSuites(TlsCrypto, int[])

public static int[] GetSupportedCipherSuites(TlsCrypto crypto, int[] suites)

Parameters

crypto TlsCrypto
suites int[]

Returns

int[]

GetSupportedCipherSuites(TlsCrypto, int[], int, int)

public static int[] GetSupportedCipherSuites(TlsCrypto crypto, int[] suites, int suitesOff, int suitesCount)

Parameters

crypto TlsCrypto
suites int[]
suitesOff int
suitesCount int

Returns

int[]

GetSupportedSignatureAlgorithms(TlsContext, IList<SignatureAndHashAlgorithm>)

public static IList<SignatureAndHashAlgorithm> GetSupportedSignatureAlgorithms(TlsContext context, IList<SignatureAndHashAlgorithm> candidates)

Parameters

context TlsContext
candidates IList<SignatureAndHashAlgorithm>

Returns

IList<SignatureAndHashAlgorithm>

GetUsableSignatureAlgorithms(IList<SignatureAndHashAlgorithm>)

public static IList<short> GetUsableSignatureAlgorithms(IList<SignatureAndHashAlgorithm> sigHashAlgs)

Parameters

sigHashAlgs IList<SignatureAndHashAlgorithm>

Returns

IList<short>

HasExpectedEmptyExtensionData(IDictionary<int, byte[]>, int, short)

public static bool HasExpectedEmptyExtensionData(IDictionary<int, byte[]> extensions, int extensionType, short alertDescription)

Parameters

extensions IDictionary<int, byte[]>
extensionType int
alertDescription short

Returns

bool

HasSigningCapability(short)

public static bool HasSigningCapability(short clientCertificateType)

Parameters

clientCertificateType short

Returns

bool

ImportSession(byte[], SessionParameters)

public static TlsSession ImportSession(byte[] sessionID, SessionParameters sessionParameters)

Parameters

sessionID byte[]
sessionParameters SessionParameters

Returns

TlsSession

IsAeadCipherSuite(int)

public static bool IsAeadCipherSuite(int cipherSuite)

Parameters

cipherSuite int

Returns

bool

Exceptions

IOException

IsBlockCipherSuite(int)

public static bool IsBlockCipherSuite(int cipherSuite)

Parameters

cipherSuite int

Returns

bool

Exceptions

IOException

IsNullOrContainsNull(object[])

public static bool IsNullOrContainsNull(object[] array)

Parameters

array object[]

Returns

bool

IsNullOrEmpty(string)

public static bool IsNullOrEmpty(string s)

Parameters

s string

Returns

bool

IsNullOrEmpty<T>(IList<T>)

public static bool IsNullOrEmpty<T>(IList<T> v)

Parameters

v IList<T>

Returns

bool

Type Parameters

T

IsNullOrEmpty<T>(T[])

public static bool IsNullOrEmpty<T>(T[] array)

Parameters

array T[]

Returns

bool

Type Parameters

T

IsSignatureAlgorithmsExtensionAllowed(ProtocolVersion)

public static bool IsSignatureAlgorithmsExtensionAllowed(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

bool

IsSsl(TlsContext)

public static bool IsSsl(TlsContext context)

Parameters

context TlsContext

Returns

bool

IsStreamCipherSuite(int)

public static bool IsStreamCipherSuite(int cipherSuite)

Parameters

cipherSuite int

Returns

bool

Exceptions

IOException

IsSupportedCipherSuite(TlsCrypto, int)

public static bool IsSupportedCipherSuite(TlsCrypto crypto, int cipherSuite)

Parameters

crypto TlsCrypto
cipherSuite int

Returns

bool

IsSupportedKeyExchange(TlsCrypto, int)

public static bool IsSupportedKeyExchange(TlsCrypto crypto, int keyExchangeAlgorithm)

Parameters

crypto TlsCrypto
keyExchangeAlgorithm int

Returns

bool

IsTimeout(SocketException)

public static bool IsTimeout(SocketException e)

Parameters

e SocketException

Returns

bool

IsTlsV10(ProtocolVersion)

public static bool IsTlsV10(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

bool

IsTlsV10(TlsContext)

public static bool IsTlsV10(TlsContext context)

Parameters

context TlsContext

Returns

bool

IsTlsV11(ProtocolVersion)

public static bool IsTlsV11(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

bool

IsTlsV11(TlsContext)

public static bool IsTlsV11(TlsContext context)

Parameters

context TlsContext

Returns

bool

IsTlsV12(ProtocolVersion)

public static bool IsTlsV12(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

bool

IsTlsV12(TlsContext)

public static bool IsTlsV12(TlsContext context)

Parameters

context TlsContext

Returns

bool

IsTlsV13(ProtocolVersion)

public static bool IsTlsV13(ProtocolVersion version)

Parameters

version ProtocolVersion

Returns

bool

IsTlsV13(TlsContext)

public static bool IsTlsV13(TlsContext context)

Parameters

context TlsContext

Returns

bool

IsValidCipherSuiteForSignatureAlgorithms(int, IList<short>)

public static bool IsValidCipherSuiteForSignatureAlgorithms(int cipherSuite, IList<short> sigAlgs)

Parameters

cipherSuite int
sigAlgs IList<short>

Returns

bool

Whether a server can select the specified cipher suite given the available signature algorithms for ServerKeyExchange.

IsValidSignatureSchemeForServerKeyExchange(int, int)

public static bool IsValidSignatureSchemeForServerKeyExchange(int signatureScheme, int keyExchangeAlgorithm)

Parameters

signatureScheme int
keyExchangeAlgorithm int

Returns

bool

IsValidUint16(int)

public static bool IsValidUint16(int i)

Parameters

i int

Returns

bool

IsValidUint16(long)

public static bool IsValidUint16(long i)

Parameters

i long

Returns

bool

IsValidUint24(int)

public static bool IsValidUint24(int i)

Parameters

i int

Returns

bool

IsValidUint24(long)

public static bool IsValidUint24(long i)

Parameters

i long

Returns

bool

IsValidUint32(long)

public static bool IsValidUint32(long i)

Parameters

i long

Returns

bool

IsValidUint48(long)

public static bool IsValidUint48(long i)

Parameters

i long

Returns

bool

IsValidUint64(long)

public static bool IsValidUint64(long i)

Parameters

i long

Returns

bool

IsValidUint8(short)

public static bool IsValidUint8(short i)

Parameters

i short

Returns

bool

IsValidUint8(int)

public static bool IsValidUint8(int i)

Parameters

i int

Returns

bool

IsValidUint8(long)

public static bool IsValidUint8(long i)

Parameters

i long

Returns

bool

IsValidVersionForCipherSuite(int, ProtocolVersion)

public static bool IsValidVersionForCipherSuite(int cipherSuite, ProtocolVersion version)

Parameters

cipherSuite int
version ProtocolVersion

Returns

bool

ParseSupportedSignatureAlgorithms(Stream)

public static IList<SignatureAndHashAlgorithm> ParseSupportedSignatureAlgorithms(Stream input)

Parameters

input Stream

Returns

IList<SignatureAndHashAlgorithm>

Exceptions

IOException

Prf(SecurityParameters, TlsSecret, ReadOnlySpan<char>, ReadOnlySpan<byte>, int)

public static TlsSecret Prf(SecurityParameters securityParameters, TlsSecret secret, ReadOnlySpan<char> asciiLabel, ReadOnlySpan<byte> seed, int length)

Parameters

securityParameters SecurityParameters
secret TlsSecret
asciiLabel ReadOnlySpan<char>
seed ReadOnlySpan<byte>
length int

Returns

TlsSecret

Prf(SecurityParameters, TlsSecret, string, byte[], int)

public static TlsSecret Prf(SecurityParameters securityParameters, TlsSecret secret, string asciiLabel, byte[] seed, int length)

Parameters

securityParameters SecurityParameters
secret TlsSecret
asciiLabel string
seed byte[]
length int

Returns

TlsSecret

ReadAllOrNothing(int, Stream)

public static byte[] ReadAllOrNothing(int length, Stream input)

Parameters

length int
input Stream

Returns

byte[]

ReadAsn1Object(byte[])

public static Asn1Object ReadAsn1Object(byte[] encoding)

Parameters

encoding byte[]

Returns

Asn1Object

ReadFully(byte[], Stream)

public static void ReadFully(byte[] buf, Stream input)

Parameters

buf byte[]
input Stream

ReadFully(int, Stream)

public static byte[] ReadFully(int length, Stream input)

Parameters

length int
input Stream

Returns

byte[]

ReadFully(Span<byte>, Stream)

public static void ReadFully(Span<byte> buf, Stream input)

Parameters

buf Span<byte>
input Stream

ReadInt32(byte[], int)

public static int ReadInt32(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

int

ReadOpaque16(Stream)

public static byte[] ReadOpaque16(Stream input)

Parameters

input Stream

Returns

byte[]

ReadOpaque16(Stream, int)

public static byte[] ReadOpaque16(Stream input, int minLength)

Parameters

input Stream
minLength int

Returns

byte[]

ReadOpaque24(Stream)

public static byte[] ReadOpaque24(Stream input)

Parameters

input Stream

Returns

byte[]

ReadOpaque24(Stream, int)

public static byte[] ReadOpaque24(Stream input, int minLength)

Parameters

input Stream
minLength int

Returns

byte[]

ReadOpaque8(Stream)

public static byte[] ReadOpaque8(Stream input)

Parameters

input Stream

Returns

byte[]

ReadOpaque8(Stream, int)

public static byte[] ReadOpaque8(Stream input, int minLength)

Parameters

input Stream
minLength int

Returns

byte[]

ReadOpaque8(Stream, int, int)

public static byte[] ReadOpaque8(Stream input, int minLength, int maxLength)

Parameters

input Stream
minLength int
maxLength int

Returns

byte[]

ReadUint16(byte[], int)

public static int ReadUint16(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

int

ReadUint16(Stream)

public static int ReadUint16(Stream input)

Parameters

input Stream

Returns

int

ReadUint16(ReadOnlySpan<byte>)

public static int ReadUint16(ReadOnlySpan<byte> buffer)

Parameters

buffer ReadOnlySpan<byte>

Returns

int

ReadUint16Array(int, Stream)

public static int[] ReadUint16Array(int count, Stream input)

Parameters

count int
input Stream

Returns

int[]

ReadUint24(byte[], int)

public static int ReadUint24(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

int

ReadUint24(Stream)

public static int ReadUint24(Stream input)

Parameters

input Stream

Returns

int

ReadUint32(byte[], int)

public static long ReadUint32(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

long

ReadUint32(Stream)

public static long ReadUint32(Stream input)

Parameters

input Stream

Returns

long

ReadUint48(byte[], int)

public static long ReadUint48(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

long

ReadUint48(Stream)

public static long ReadUint48(Stream input)

Parameters

input Stream

Returns

long

ReadUint8(byte[], int)

public static short ReadUint8(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

short

ReadUint8(Stream)

public static short ReadUint8(Stream input)

Parameters

input Stream

Returns

short

ReadUint8(ReadOnlySpan<byte>)

public static short ReadUint8(ReadOnlySpan<byte> buffer)

Parameters

buffer ReadOnlySpan<byte>

Returns

short

ReadUint8Array(int, Stream)

public static short[] ReadUint8Array(int count, Stream input)

Parameters

count int
input Stream

Returns

short[]

ReadUint8ArrayWithUint8Length(Stream, int)

public static short[] ReadUint8ArrayWithUint8Length(Stream input, int minLength)

Parameters

input Stream
minLength int

Returns

short[]

ReadVersion(byte[], int)

public static ProtocolVersion ReadVersion(byte[] buf, int offset)

Parameters

buf byte[]
offset int

Returns

ProtocolVersion

ReadVersion(Stream)

public static ProtocolVersion ReadVersion(Stream input)

Parameters

input Stream

Returns

ProtocolVersion

RequireDerEncoding(Asn1Encodable, byte[])

public static void RequireDerEncoding(Asn1Encodable asn1, byte[] encoding)

Parameters

asn1 Asn1Encodable
encoding byte[]

Exceptions

IOException

VectorOfOne<T>(T)

public static IList<T> VectorOfOne<T>(T obj)

Parameters

obj T

Returns

IList<T>

Type Parameters

T

VerifySupportedSignatureAlgorithm(IList<SignatureAndHashAlgorithm>, SignatureAndHashAlgorithm)

public static void VerifySupportedSignatureAlgorithm(IList<SignatureAndHashAlgorithm> supportedSignatureAlgorithms, SignatureAndHashAlgorithm signatureAlgorithm)

Parameters

supportedSignatureAlgorithms IList<SignatureAndHashAlgorithm>
signatureAlgorithm SignatureAndHashAlgorithm

Exceptions

IOException

WriteGmtUnixTime(byte[], int)

public static void WriteGmtUnixTime(byte[] buf, int offset)

Parameters

buf byte[]
offset int

WriteOpaque16(byte[], byte[], int)

public static void WriteOpaque16(byte[] data, byte[] buf, int off)

Parameters

data byte[]
buf byte[]
off int

WriteOpaque16(byte[], Stream)

public static void WriteOpaque16(byte[] buf, Stream output)

Parameters

buf byte[]
output Stream

WriteOpaque24(byte[], byte[], int)

public static void WriteOpaque24(byte[] data, byte[] buf, int off)

Parameters

data byte[]
buf byte[]
off int

WriteOpaque24(byte[], Stream)

public static void WriteOpaque24(byte[] buf, Stream output)

Parameters

buf byte[]
output Stream

WriteOpaque8(byte[], byte[], int)

public static void WriteOpaque8(byte[] data, byte[] buf, int off)

Parameters

data byte[]
buf byte[]
off int

WriteOpaque8(byte[], Stream)

public static void WriteOpaque8(byte[] buf, Stream output)

Parameters

buf byte[]
output Stream

WriteOpaque8(ReadOnlySpan<byte>, Span<byte>)

public static void WriteOpaque8(ReadOnlySpan<byte> data, Span<byte> buf)

Parameters

data ReadOnlySpan<byte>
buf Span<byte>

WriteUint16(int, byte[], int)

public static void WriteUint16(int i, byte[] buf, int offset)

Parameters

i int
buf byte[]
offset int

WriteUint16(int, Stream)

public static void WriteUint16(int i, Stream output)

Parameters

i int
output Stream

WriteUint16(int, Span<byte>)

public static void WriteUint16(int i, Span<byte> buf)

Parameters

i int
buf Span<byte>

WriteUint16Array(int[], byte[], int)

public static void WriteUint16Array(int[] u16s, byte[] buf, int offset)

Parameters

u16s int[]
buf byte[]
offset int

WriteUint16Array(int[], Stream)

public static void WriteUint16Array(int[] u16s, Stream output)

Parameters

u16s int[]
output Stream

WriteUint16ArrayWithUint16Length(int[], byte[], int)

public static void WriteUint16ArrayWithUint16Length(int[] u16s, byte[] buf, int offset)

Parameters

u16s int[]
buf byte[]
offset int

WriteUint16ArrayWithUint16Length(int[], Stream)

public static void WriteUint16ArrayWithUint16Length(int[] u16s, Stream output)

Parameters

u16s int[]
output Stream

WriteUint16ArrayWithUint8Length(int[], byte[], int)

public static void WriteUint16ArrayWithUint8Length(int[] u16s, byte[] buf, int offset)

Parameters

u16s int[]
buf byte[]
offset int

WriteUint24(int, byte[], int)

public static void WriteUint24(int i, byte[] buf, int offset)

Parameters

i int
buf byte[]
offset int

WriteUint24(int, Stream)

public static void WriteUint24(int i, Stream output)

Parameters

i int
output Stream

WriteUint32(long, byte[], int)

public static void WriteUint32(long i, byte[] buf, int offset)

Parameters

i long
buf byte[]
offset int

WriteUint32(long, Stream)

public static void WriteUint32(long i, Stream output)

Parameters

i long
output Stream

WriteUint48(long, byte[], int)

public static void WriteUint48(long i, byte[] buf, int offset)

Parameters

i long
buf byte[]
offset int

WriteUint48(long, Stream)

public static void WriteUint48(long i, Stream output)

Parameters

i long
output Stream

WriteUint64(long, byte[], int)

public static void WriteUint64(long i, byte[] buf, int offset)

Parameters

i long
buf byte[]
offset int

WriteUint64(long, Stream)

public static void WriteUint64(long i, Stream output)

Parameters

i long
output Stream

WriteUint8(short, byte[], int)

public static void WriteUint8(short i, byte[] buf, int offset)

Parameters

i short
buf byte[]
offset int

WriteUint8(short, Stream)

public static void WriteUint8(short i, Stream output)

Parameters

i short
output Stream

WriteUint8(int, byte[], int)

public static void WriteUint8(int i, byte[] buf, int offset)

Parameters

i int
buf byte[]
offset int

WriteUint8(int, Stream)

public static void WriteUint8(int i, Stream output)

Parameters

i int
output Stream

WriteUint8(int, Span<byte>)

public static void WriteUint8(int i, Span<byte> buf)

Parameters

i int
buf Span<byte>

WriteUint8Array(short[], byte[], int)

public static void WriteUint8Array(short[] u8s, byte[] buf, int offset)

Parameters

u8s short[]
buf byte[]
offset int

WriteUint8Array(short[], Stream)

public static void WriteUint8Array(short[] u8s, Stream output)

Parameters

u8s short[]
output Stream

WriteUint8ArrayWithUint8Length(short[], byte[], int)

public static void WriteUint8ArrayWithUint8Length(short[] u8s, byte[] buf, int offset)

Parameters

u8s short[]
buf byte[]
offset int

WriteUint8ArrayWithUint8Length(short[], Stream)

public static void WriteUint8ArrayWithUint8Length(short[] u8s, Stream output)

Parameters

u8s short[]
output Stream

WriteVersion(ProtocolVersion, byte[], int)

public static void WriteVersion(ProtocolVersion version, byte[] buf, int offset)

Parameters

version ProtocolVersion
buf byte[]
offset int

WriteVersion(ProtocolVersion, Stream)

public static void WriteVersion(ProtocolVersion version, Stream output)

Parameters

version ProtocolVersion
output Stream