곱슬 암호 목록을 보는 방법은 무엇입니까?

곱슬 암호 목록을 보는 방법은 무엇입니까?

내가 이해한 바에 따르면 SSL 협상 중에 클라이언트(즉, 컬)는 암호 목록을 서버에 보내고 서버는 선호하는 선택 사항으로 응답합니다.

컬이 보낸 비밀번호 목록을 보는 방법은 무엇입니까?

답변1

컬 비밀번호 요청 감지를 서비스로 제공하는 웹사이트가 있습니다.

curl https://www.howsmyssl.com/a/check

그러나 모든 비밀번호를 허용하는 것은 아닙니다. 허용하는 비밀번호 중 하나가 컬에서 보낸 목록에 없으면 전혀 응답을 받을 수 없습니다.

답변2

당신은 그것을 사용할 수 있습니다와이어샤크. 예를 들어, "tcp port 443"에 대한 패킷 필터를 설정한 다음 디스플레이 필터를 "ssl"로 설정하면 다음과 같은 출력이 표시됩니다.

TLS 클라이언트를 보여주는 Wireshark 스크린샷

"Client Hello" 패킷에 TLS_AES_128_GCM_SHA256.

답변3

이 답변 [1]은 좋은 시작이지만 실제로 자체 서명 인증서를 생성하는 방법을 모호하게 만들고 이 부분이 없으면 답변이 작동하지 않습니다. 또한 자체 서명 인증서를 생성하는 방법에 대한 지침이 포함된 [2]에 링크된 문서에서는 OpenSSL을 사용하고 있는데, 이는 일부 목적에는 유용하지만 프로세스를 더 어렵게 만들기 때문에 자체 서명 인증서를 생성하는 데는 적합하지 않을 수 있습니다. 필요한 것 이상입니다. 이를 위해 훨씬 더 간단한 또 ​​다른 도구 [3]를 찾았습니다.

generate_cert -host localhost

외부 종속성 없이 Go로 작성된 단일 파일일 뿐입니다. 위 명령을 실행한 후 OpenSSL 또는 유사한 명령을 사용하여 서버를 시작할 수 있습니다.

openssl s_server -msg -accept 8080 -cert cert.pem -key key.pem 

그런 다음 다음과 같이 요청하십시오.

curl -k https://localhost:8080
  1. https://unix.stackexchange.com/a/667824
  2. https://netburner.com/learn/creating-a-self-signed-certificate-for-secure-iot-applications
  3. https://github.com/golang/go/blob/go1.17.4/src/crypto/tls/generate_cert.go

관련 정보