php 편집기 Baicao가 클라이언트에서 TLS 정보를 얻는 방법을 소개합니다. 웹사이트 개발 과정에서 일부 보안 관련 기능을 구현하기 위해서는 클라이언트의 TLS 정보를 얻는 것이 매우 중요합니다. TLS는 네트워크 통신을 보호하는 데 사용되는 암호화 프로토콜입니다. 클라이언트의 TLS 정보를 획득함으로써 당사는 클라이언트의 인증서 정보, 암호화 알고리즘, 키 길이 및 기타 관련 정보를 획득하여 웹사이트의 보안을 향상시킬 수 있습니다. 다음 기사에서는 클라이언트로부터 TLS 정보를 얻는 방법과 이 정보를 적용하여 웹 사이트의 보안을 강화하는 방법을 자세히 설명합니다.
net/http go 패키지에는 저장ConnectionState
的字段 TLS。不过,描述中的最后一条语句表示它被 HTTP 客户端忽略。我在调试时也检查过,它是 nil
을 정의하는 유형 요청이 있습니다.
서버에 등록/전송하기 전에 인증서 요청(CSR이라고도 함)에 해당 값을 포함할 수 있도록 해당 연결 상태(또는 다른 곳)에서 값 TLSUnique
을 가져와야 합니다.
그런 다음 서버는 요청을 수신하고 CSR의 서명과 TLS 고유 값을 확인하여 TLS 연결을 설정하는 클라이언트가 CSR에 서명한 클라이언트와 동일하다는 것을 증명합니다.
이 내용은 RFC 7030 - 섹션 3.5(EST 프로토콜)에서 가져온 것입니다.
[내가 사용하는 것]
GlobalSign EST Go 패키지를 실험하고 있는데 이 기능이 포함되어 있지 않은 것 같습니다.
EST 클라이언트는 각 EST 작업에 대해 http 클라이언트를 생성하는 것 같습니다. 저는 이 동작을 변경하고 모든 요청을 보낼 하나의 클라이언트를 가질 수 있다고 생각했습니다.
그러나 클라이언트가 RoundTripper 인터페이스를 허용하므로 구현 외부에서 기본 연결 정보를 사용할 수 없습니다.
한 가지 접근 방식에서는 전역 기호 EST 패키지를 약간 변경해야 합니다.
앞서 말했듯이 현재 구현에서는 각 EST 작업(CACerts, CSRAttrs, Enroll 등)에 대해 새로운 http 클라이언트를 생성합니다.
1- 모든 EST 작업에 http 클라이언트를 사용하겠습니다.
2- 어느 쪽이든 CSR을 등록하기 전에 전화하여 CA 인증서를 받아야 합니다.
3- 클라이언트 요청에 대한 http 응답은 필드를 노출합니다 http.Response.TLS.TLSUnique
.
4- 클라이언트가 인증서 요청에 이를 포함시키고 서명한 후 등록하도록 합니다.
글로벌 심볼 EST 패키지와 그들이 매번 새로운 http 클라이언트를 생성하는 이유를 생각해 보면.
(단순히 사용자 희망에 따라 예시가 사용될 때까지 기다리지 않는 한)
위 내용은 클라이언트로부터 TLS 정보 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!