ServerKeyExchange 후 TLS 핸드셰이크의 암호 해독 오류

ServerKeyExchange 후 TLS 핸드셰이크의 암호 해독 오류

Tomcat 서버에 웹 애플리케이션을 배포했습니다. HTTPS를 사용하는 Chrome 브라우저로 연결했지만 ServerKeyExchange 이후 클라이언트 측에서 TLS 핸드셰이킹 중에 암호 해독 오류가 발생했습니다.

인증서(3단계):

서버 인증서, 서명자...

CA 인증서, 서명자...

루트 인증서(자체 서명)

openssl을 사용하여 인증서의 유효성을 검사했는데 괜찮은 것 같습니다(chain.cer에 CA 및 루트 인증서가 포함되어 있음).

$ openssl verify -verbose -CAfile chain.cer server.cer

server.cer: 확인

OpenSSL 연결을 테스트하면 클라이언트가 ServerKeyExchange를 읽은 후 오류가 발생합니다.

openssl.exe s_client -CAfile chain.cer -showcerts -state -msg server.net:8443

산출:

    CONNECTED(00000004)
>>> ??? [length 0005]
    16 03 01 01 4f
>>> TLS 1.3, Handshake [length 014f], ClientHello
    01 00 01 4b 03 03 81 63 a4 15 45 bf 7f 9b 07 8f ...
<<< ??? [length 0005]
    16 03 03 09 14
<<< TLS 1.3, Handshake [length 0055], ServerHello
    02 00 00 51 03 03 60 ef d0 8b 1c d7 9a 78 2d d4 ...
<<< TLS 1.2, Handshake [length 07ee], Certificate
    0b 00 07 ea 00 07 e7 00 07 e4 30 82 07 e0 30 82 ...
depth=2 O = Amadeus IT group SA, CN = amarootca2
verify return:1
depth=1 O = Amadeus IT group SA, CN = amacatech3
verify return:1
depth=0 C = FR, L = Nice, O = Amadeus Data Processing, OU = NIS, CN = nceiptapas04.nce.amadeus.net
verify return:1
<<< TLS 1.2, Handshake [length 00cd], ServerKeyExchange
    0c 00 00 c9 03 00 17 41 04 82 07 58 e1 cd 42 40 ...
>>> ??? [length 0005]
    15 03 03 00 02
>>> TLS 1.2, Alert [length 0002], fatal decrypt_error
  02 33 
  34359738384:error:04091077:rsa routines:int_rsa_verify:wrong signature length:crypto/rsa/rsa_sign.c:132:
  34359738384:error:1416D07B:SSL routines:tls_process_key_exchange:bad signature:ssl/statem/statem_clnt.c:2405:
--- 

클라이언트가 서버에서 보낸 DH 매개변수를 해독할 수 없나요? 왜? ServerKeyExchange의 Wireshark 세부 정보는 다음과 같습니다. 여기에 이미지 설명을 입력하세요

서명 알고리즘: rsa_pss_rsae_sha256 (0x0804) 서명 길이: 128

동일한 서명 알고리즘을 사용하지만 서명 길이가 256인 또 다른 제대로 작동하는 웹 애플리케이션이 있습니다. 아니면 이 길이가 관련이 없습니까?

관련 정보