2017-12-16 26 views
0

나는 "노드"가 서로 연결되어 놀고 있는데, 내가 정말로 신경을 쓰는 것은 그들이 서로 안전하게 연결되어 있으며 모두 인증된다는 것입니다.Node.js 호스트 이름 확인이없는 TLS 연결

이 때문에 TLS 모듈이 적합하다고 생각했습니다. CA를 만들고 각 노드에 하나씩 여러 인증서에 서명했습니다. 그런 다음 노드가 연결되는 호스트에 대해 인증서의 유효성을 검사한다는 문제가 발생했습니다.

어떻게하면 일반 이름 유효성 검사를 사용하지 않거나 해결할 수 있습니까?

이 설정에 근본적인 결함이 있습니까?

CA에서 서명 한 인증서 인 경우 연결이 안전해야하고 노드 만 연결할 수 있다고 확신합니다.

호스트 이름이나 IP (또는 여러 인터페이스의 경우 몇 개)에 잠긴 인증서에 서명해야하는 것만 큼 귀찮은 것처럼 보입니다. 호스트의 유효성을 검사하는 요구 사항은 실제로 TLS가 아니라 HTTPS의 일부라는 것을 알았습니다. 그 점에서 기본적으로 Node.js 버그 일 수 있습니다.

답변

0

어떻게하면 일반 이름 유효성 검사를 사용 중지하거나 해결할 수 있습니까?

이 무 조작 함수 tls.connectcheckServerIdentity 옵션을 설정함으로써 가능하다 :

const tls = require('tls') 
tls.connect({ 
    checkServerIdentity:() => undefined, 
    ... 
}) 

출처 :