Table of Contents

Class TlsFingerPrint

Namespace
Fluxzy.Clients.Ssl
Assembly
Fluxzy.Core.dll
public class TlsFingerPrint
Inheritance
TlsFingerPrint
Inherited Members

Constructors

TlsFingerPrint(int, int[], int[], int[], int[], bool?, Dictionary<int, byte[]>?, List<SignatureAndHashAlgorithm>?, int[]?)

public TlsFingerPrint(int protocolVersion, int[] ciphers, int[] clientExtensions, int[] supportGroups, int[] ellipticCurvesFormat, bool? greaseMode, Dictionary<int, byte[]>? overrideClientExtensionsValues, List<SignatureAndHashAlgorithm>? signatureAndHashAlgorithms, int[]? earlySharedGroups)

Parameters

protocolVersion int
ciphers int[]
clientExtensions int[]
supportGroups int[]
ellipticCurvesFormat int[]
greaseMode bool?
overrideClientExtensionsValues Dictionary<int, byte[]>
signatureAndHashAlgorithms List<SignatureAndHashAlgorithm>
earlySharedGroups int[]

Properties

Ciphers

Ciphers to be used

public int[] Ciphers { get; }

Property Value

int[]

ClientExtensions

Client extensions to be used

public int[] ClientExtensions { get; }

Property Value

int[]

EarlySharedGroups

When using TLS v1.3, the named group on this list will be used for early shared key

public int[]? EarlySharedGroups { get; }

Property Value

int[]

EllipticCurvesFormat

Elliptic curves format

public int[] EllipticCurvesFormat { get; }

Property Value

int[]

GreaseMode

Grease mode, true = ON

public bool GreaseMode { get; }

Property Value

bool

Ja3Flat

Flat JA3 fingerprint

public string Ja3Flat { get; }

Property Value

string

OverrideClientExtensionsValues

Override client extensions values (set manually)

public Dictionary<int, byte[]>? OverrideClientExtensionsValues { get; }

Property Value

Dictionary<int, byte[]>

ProtocolVersion

As in wire format

public int ProtocolVersion { get; }

Property Value

int

SignatureAndHashAlgorithms

Signature and hash algorithms

public List<SignatureAndHashAlgorithm>? SignatureAndHashAlgorithms { get; }

Property Value

List<SignatureAndHashAlgorithm>

SupportGroups

Supported groups

public int[] SupportGroups { get; }

Property Value

int[]

Methods

Equals(TlsFingerPrint)

protected bool Equals(TlsFingerPrint other)

Parameters

other TlsFingerPrint

Returns

bool

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

ParseFromImpersonateConfiguration(ImpersonateConfiguration)

Parse TLS fingerprint from impersonate configuration

public static TlsFingerPrint ParseFromImpersonateConfiguration(ImpersonateConfiguration configuration)

Parameters

configuration ImpersonateConfiguration

Returns

TlsFingerPrint

ParseFromJa3(string, bool?, Dictionary<int, byte[]>?, List<SignatureAndHashAlgorithm>?, int[]?)

public static TlsFingerPrint ParseFromJa3(string ja3, bool? greaseMode = null, Dictionary<int, byte[]>? overrideClientExtensionsValues = null, List<SignatureAndHashAlgorithm>? signatureAndHashAlgorithms = null, int[]? earlyShardGroups = null)

Parameters

ja3 string
greaseMode bool?

When null, greaseMode will be determined according to tls value.

overrideClientExtensionsValues Dictionary<int, byte[]>

Instead of using the default built-in values for extension..

signatureAndHashAlgorithms List<SignatureAndHashAlgorithm>
earlyShardGroups int[]

Returns

TlsFingerPrint

Exceptions

ArgumentException

ToString()

Returns a string that represents the current object.

public override sealed string ToString()

Returns

string

A string that represents the current object.

ToString(bool)

public string ToString(bool ordered)

Parameters

ordered bool

Returns

string

Operators

operator ==(TlsFingerPrint?, TlsFingerPrint?)

public static bool operator ==(TlsFingerPrint? left, TlsFingerPrint? right)

Parameters

left TlsFingerPrint
right TlsFingerPrint

Returns

bool

operator !=(TlsFingerPrint?, TlsFingerPrint?)

public static bool operator !=(TlsFingerPrint? left, TlsFingerPrint? right)

Parameters

left TlsFingerPrint
right TlsFingerPrint

Returns

bool