Class TlsFingerPrint
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
protocolVersionintciphersint[]clientExtensionsint[]supportGroupsint[]ellipticCurvesFormatint[]greaseModebool?overrideClientExtensionsValuesDictionary<int, byte[]>signatureAndHashAlgorithmsList<SignatureAndHashAlgorithm>earlySharedGroupsint[]
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
Ja3Flat
Flat JA3 fingerprint
public string Ja3Flat { get; }
Property Value
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
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
otherTlsFingerPrint
Returns
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current object.
Returns
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
configurationImpersonateConfiguration
Returns
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
ja3stringgreaseModebool?When null, greaseMode will be determined according to tls value.
overrideClientExtensionsValuesDictionary<int, byte[]>Instead of using the default built-in values for extension..
signatureAndHashAlgorithmsList<SignatureAndHashAlgorithm>earlyShardGroupsint[]
Returns
Exceptions
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
orderedbool
Returns
Operators
operator ==(TlsFingerPrint?, TlsFingerPrint?)
public static bool operator ==(TlsFingerPrint? left, TlsFingerPrint? right)
Parameters
leftTlsFingerPrintrightTlsFingerPrint
Returns
operator !=(TlsFingerPrint?, TlsFingerPrint?)
public static bool operator !=(TlsFingerPrint? left, TlsFingerPrint? right)
Parameters
leftTlsFingerPrintrightTlsFingerPrint