2015-02-04 6 views
0

blink sip 클라이언트와 함께 opensips에서 인증서 확인을 설정하려고합니다.Opensips TLS 및 인증서 문제

https://github.com/antonraharja/book-opensips-101/blob/master/content/3.2.%20SIP%20TLS%20Secure%20Calling.mediawiki

내 설정은 이렇게 같이 :

[opensips.cfg] 
disable_tls = no 
listen = tls:my_ip:5061 
tls_verify_server= 0 
tls_verify_client = 1 
tls_require_client_certificate = 1 
#tls_method = TLSv1 
tls_method = SSLv23 
tls_certificate = "/usr/local/etc/opensips/tls/server/server-cert.pem" 
tls_private_key = "/usr/local/etc/opensips/tls/server/server-privkey.pem" 
tls_ca_list = "/usr/local/etc/opensips/tls/server/server-calist.pem" 

그래서 내가 rootCA 및 서버 인증서를 생성 내가 자습서를 따라 갔다. 그런 다음 server-calist.pem을 server-privkey.pem에 추가했습니다 (그렇지 않으면 sip 클라이언트가 클라이언트를로드하지 않습니다). 클라이언트에 설정합니다. 또한 깜박이는 인증 기관으로 server-calist.pem을 설정했습니다. 난 내 서버에 로그인 할 때하지만 난 얻을 :

Feb 4 21:02:42 user /usr/local/sbin/opensips[28065]: DBG:core:tcp_read_req: Using the global (per process) buff 
Feb 4 21:02:42 user /usr/local/sbin/opensips[28065]: DBG:core:tls_update_fd: New fd is 17 
Feb 4 21:02:42 user /usr/local/sbin/opensips[28065]: ERROR:core:tls_accept: New TLS connection from 130.85.9.114:48253 failed to accept: rejected by client 

그래서 내가 클라이언트가 어떤 이유로 서버 인증서를 허용하지 않는 가정, 내가 "서버 확인"체크 박스를 내 깜짝 할 사이에 꺼져 있지만 클라이언트 모금! 나는 내가 잘못된 인증 기관 파일을 가지고 있다고 생각합니다.

./user/user-cert.pem 
./user/user-cert_req.pem 
./user/user-privkey.pem 
./user/user-calist.pem  <- this 4 are for using opensips as a client i think 
./rootCA/certs/01.pem 
./rootCA/private/cakey.pem 
./rootCA/cacert.pem 
./server/server-privkey.pem 
./server/server-calist.pem 
./server/server-cert.pem 
./server/server-cert_req.pem 
./calist.pem 

아무도 도와 줄 수 있습니까? 내가 잘못 설정했거나 잘못된 인증서 체인을 사용 했습니까? 클라이언트 인증서로 정확히 어떤 인증서를 사용해야하고 CA 인증서는 무엇입니까? 인증 동작이 이상한되었다 있기 때문에, 일하거나하지 않는 경우

+0

저는 SSL_accept()가 실제로 서버 측에서 실패하고 있다는 인상을 받았습니다! Blink 인증서를 정리하고 OpenSIPS의 인증서를 사용하도록 할 수 있습니까? –

+0

@LiviuChircu @LiviuChircu 나는 그것을 시도하고 무엇을 얻을지 알려주겠습니다. – Raziel

+0

@LiviuChircu 깜박임 프로그램 파일 폴더에서 'tls'폴더를 제거하고 계정 키로 server-privkey.pem과 함께 server-calist.pem을 추가하고 서버 -calist.pem (/rootCA/cacert.pem과 동일 함)을 인증 기관 파일로 사용하십시오.2 월 5 일 01:04:07 사용자/usr/local/sbin/opensips [30040] : DBG : core : tls_update_fd : 새 fd가 17 Feb 5 01:04:07 사용자/usr/local/sbin/opensips [30040] : 오류 : core : tls_accept : 130.85.9.114:51297의 새 TLS 연결을 수락하지 못했습니다. 클라이언트가 거부했습니다. – Raziel

답변

0

알려줘야, 난 아직 잘 모르겠어요,하지만 5 ~ 6 분 동안 매달려있어 후 나는 성공의 승인을 얻을, 그래서 이것은 솔루션입니다 :

opensipsctl tls rootCA 

은 다음 tls opensips 폴더에 server.conf 파일을 편집하고 xxx.xxx.xxx.xxx는 서버의 IP 주소입니다 어디 commonName = xxx.xxx.xxx.xxx을 설정

rootCA를 생성합니다. 다른 변수는 어떤 식 으로든 편집 할 수 있습니다. CA에서 서명 한 인증서 생성

opensipsctl tls userCERT server 

이렇게하면 4 개의 파일이 생성됩니다. server-calist.pem, server-cert.pem, server-privkey.pem을 다운로드하십시오. server-privkey.pem을 열고 내용을 복사 한 다음 실제 인증서 앞에 server-cert.pem 파일을 붙여 넣으십시오. 깜박임을 사용하는 경우 생성 된 server-cert.pem은 환경 설정 -> 계정 -> 고급으로 이동합니다. 그리고 server-calist.pem은 환경 설정 -> 고급 설정으로 이동합니다. 다시 시작한 후 5 분에서 6 분이 지나면 계정이 로그인됩니다. 그러나 깜박임을 실행하고 다른 기존 계정에 로그인하려고 시도하면 이상한 행동이 관찰됩니다 에서 로그 한 후 인증서가있는 첫 번째 계정은 인증서를 제공하지 않고 다른 계정에서 로그인 할 수 있습니다. 그래서 나는 모른다. 그러나 나는 그것이 일하고 있다고 생각한다.

P. 내가 opensips 메일 링리스트에있는 인증서에 대해 물어 보았지만, 나는 그들이 내 질문을 너무 절름발이로 여겨서 응답을 얻지 못했을 것이라고 생각한다. 동일한 문제가있어 더 나은 결과를 얻었거나 오픈 픽스 지원에서 답변을 얻었 으면 알려주세요.