Evaluating bids

Custom Tls Handshake

Published on the February 06, 2022 in IT & Programming

About this project

Open

Desenvolver um projeto em C# .NET, onde uma library na versão .NET Standard 2.1 deve possuir o método:
public bool TryGetCookies(Uri url, out string[] cookies);
O objetivo deste método é realizar um get http/1.1 na URL indicada, lendo o cabeçalho de resposta e criando um array de string com o valor de cada "Set-Cookie" encontrado.
É Fundamental que o handshake para tls em url do tipo https deva possuir o mesmo fingerprint ja3 do google chrome versão 83 ou superior.
Para tal, devido ao .NET ter sua implementação restringida ao sistema operacional (https://github.com/dotnet/runtime/issues/22507), esta requisição deve ser feita por meio de um TcpClient utilizando TlsClientProtocol em conjunto apenas com o pacote NuGet "Portable.BouncyCastle" para gerenciar a lista de cipher suítes, ou similar que funcione para qualquer plataforma (Windows, Linux, Mac e Android).


Exemplos de código:
https://stackoverflow.com/questions/16727862/bouncy-castle-tls-api-usage
https://github.com/refraction-networking/utls/blob/master/u_parrots.go

A utilização do TcpClient, bem como o pacote “Portable.BouncyCastle” são apenas sugestivas. Pode ser utilizado qualquer outra codificação, porém, mantendo o requisito principal que é ser entregue em projeto do tipo Library na versão .NET Standard 2.1, executando assim através de todas plataformas (inclusive Windows e Android via Xamarin).

Project overview

Exemplos de código: https://stackoverflow.com/questions/16727862/bouncy-castle-tls-api-usage https://github.com/refraction-networking/utls/blob/master/u_parrots.go

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
Roles needed Developer

Delivery term: Not specified

Skills needed

Other projects posted by E. C.