Skip to content

whSwitching/TLSHandler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TLSHandler

C# implementation of TLS 1.2/1.3

as you dig deeper, Transport Layer Security becomes Application Layer Security to you


Server/Client certificate support:

  • RSA
  • ECC

BulkEncryption implementation:

NamedGroup implementation:

  • secp256r1 (0x0017)
  • secp384r1 (0x0018)
  • secp521r1 (0x0019)
  • x25519 (0x001D)
  • x448 (0x001E)

SignatureAlgorithm implementation:

  • rsa_pkcs1_sha256 (0x0401)    (TLS 1.3 Mandatory)
  • rsa_pkcs1_sha384 (0x0501)
  • rsa_pkcs1_sha512 (0x0601)
  • rsa_pss_rsae_sha256 (0x0804)    (TLS 1.3 Mandatory)
  • rsa_pss_rsae_sha384 (0x0805)
  • rsa_pss_rsae_sha512 (0x0806)
  • ecdsa_secp256r1_sha256 (0x0403)    (TLS 1.3 Mandatory)
  • ecdsa_secp384r1_sha384 (0x0503)
  • ecdsa_secp521r1_sha512 (0x0603)

CipherSuite implementation:

  • TLS_RSA_WITH_AES_128_CBC_SHA (0x002F)    (TLS 1.2 Mandatory)
  • TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003C)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xC013)
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xC027)
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xC009)
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xC023)
  • TLS_AES_128_GCM_SHA256 (0x1301)    (TLS 1.3 Mandatory)
  • TLS_AES_256_GCM_SHA384 (0x1302)
  • TLS_CHACHA20_POLY1305_SHA256 (0x1303)    (TLS1.3 Mobile Client Prefer)

Not implemented

Usage

  • https sample is a working demo of https service without using SslStream

  • if you don't know how to Read tls records from a stream, you were actually looking for System.Net.Security.SslStream but not this repository

About

pure C# implementation of TLS 1.2/1.3

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages