Qual é o significado dos valores do campo Protocols from Get-TlsCipherSuite Output?

2

O Powershell tem um cmdlet Get-TlsCipherSute que retorna informações sobre quais códigos o TLS pode usar.

A saída inclui um campo Protocols que parece estar configurado para uma matriz de números, por exemplo:

PS C:\>Get-TlsCipherSuite -Name "AES"
KeyType               : 0
Certificate           : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 49196
CipherSuite           : 49196
Cipher                : AES
Name                  : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Protocols             : {771, 65277}

Qual é o significado dos números que são o valor do campo Protocols para cada conjunto de criptografia (por exemplo, 771 e 652677 )?

Observação : Se você for explorar, observe que a saída deste comando não parece se comportar com select , consulte link

    
por Kyle Brandt 01.05.2018 / 17:39

1 resposta

6

Eles parecem ser uma representação decimal do valor usado no Campo de versão do TLS . 771 = 0x0303 = TLS_1_2 e 652677 = 0xFEFD = DTLS_1_1 . Você pode ver constantes semelhantes definidas em várias bibliotecas TLS :

TLS_VERSIONS = {
    # SSL
    0x0002: "SSL_2_0",
    0x0300: "SSL_3_0",
    # TLS:
    0x0301: "TLS_1_0",
    0x0302: "TLS_1_1",
    0x0303: "TLS_1_2",
    0x0304: "TLS_1_3",
    # DTLS
    0x0100: "PROTOCOL_DTLS_1_0_OPENSSL_PRE_0_9_8f",
    0x7f10: "TLS_1_3_DRAFT_16",
    0x7f12: "TLS_1_3_DRAFT_18",
    0xfeff: "DTLS_1_0",
    0xfefd: "DTLS_1_1",
}

Portanto, eles provavelmente representam as versões do protocolo TLS / SSL para as quais essa codificação está disponível.

    
por 01.05.2018 / 18:59