우리는 ~/.gitconfigOS X를 : 클라이언트 인증서와 함께 힘내
[http]
sslCAInfo = /path/to/git-ca.crt
sslCert = /path/to/git-client.crt
sslKey = /path/to/git-client.pem
이것은 리눅스, 윈도우에서 잘 작동하고 OS X <에 다음 줄을 추가하여 클라이언트 인증서와 함께 우리 힘내 서버에 액세스 = 10.8로 거부 정확히 같은 파일.
bash-3.2$ git fetch
fatal: unable to access 'https://ourserver:12345/repository.git/': SSL: Can't load the certificate "/path/to/git-client.crt" and its private key: OSStatus -25299
문제는 git version 1.9.3 (Apple Git-50)
으로뿐만 아니라 git version 2.0.1
으로 발생 : 나는 OS X 10.10에 그것을 시도 할 때, 나는 다음과 같은 오류를 받고 있어요.
업데이트 키 체인에서 해당 항목을 제거한 후, 나는 다음과 같은 충돌지고있어이 충돌 후
bash-3.2$ git fetch
2014-11-17 09:58:51.257 git-remote-https[2787:12194] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff9828164c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff8f91c6de objc_exception_throw + 43
2 CoreFoundation 0x00007fff98125068 -[__NSPlaceholderArray initWithObjects:count:] + 360
3 CoreFoundation 0x00007fff98124a2d CFArrayCreate + 141
4 libcurl.4.dylib 0x00007fff8f75169e darwinssl_connect_common + 2089
5 libcurl.4.dylib 0x00007fff8f75073a Curl_ssl_connect_nonblocking + 36
6 libcurl.4.dylib 0x00007fff8f719673 Curl_http_connect + 77
7 libcurl.4.dylib 0x00007fff8f727977 Curl_protocol_connect + 129
8 libcurl.4.dylib 0x00007fff8f739cef multi_runsingle + 799
9 libcurl.4.dylib 0x00007fff8f73993d curl_multi_perform + 170
10 git-remote-https 0x0000000109815c8a step_active_slots + 25
11 git-remote-https 0x0000000109815cfb run_active_slot + 77
12 git-remote-https 0x0000000109817621 http_request + 459
13 git-remote-https 0x0000000109816148 http_request_reauth + 34
14 git-remote-https 0x0000000109813f76 discover_refs + 476
15 git-remote-https 0x00000001098131e4 main + 1556
16 libdyld.dylib 0x00007fff94bd25c9 start + 1
17 ??? 0x0000000000000003 0x0 + 3
)
libc++abi.dylib: terminating with uncaught exception of type NSException
을, 인증서 항목은 키 체인에 재발생했다. 이상한 점은 OS X 10.8에서 저장소에서 가져 오는 동안 아무 것도 내 키 체인에 추가되지 않는다는 것입니다. 도에, 나는 성공적으로 인증서를 사용하여 openssl
연결할 수
bash-3.2$ git fetch
fatal: unable to access 'https://ourserver:12345/repository.git/': SSL certificate problem: Invalid certificate chain
업데이트 3 :
업데이트 내가 OS X 10.9에서 같은 시도 2, 나는 다음과 같은 오류를 받고 있어요 OS의 X 10.9 :
bash-3.2$ openssl s_client -connect ourserver:12345 -cert /path/to/git-client.crt -key /path/to/git-client.pem
CONNECTED(00000003)
depth=1 /C=de/O=companyca/CN=internal-ca
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
0 s:/C=de/O=companyserv/CN=smart
i:/C=de/O=companyca/CN=internal-ca
1 s:/C=de/O=companyca/CN=internal-ca
i:/C=de/O=companyca/CN=internal-ca
---
Server certificate
...
<----------------------snip---------------------->
...
---
SSL handshake has read 2348 bytes and written 1360 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID: E5873AF43D24CEE6529178B4EFD7FE3368711DF1BFBC6CA89C50F8D39DE0B014
Session-ID-ctx:
Master-Key: <**********>
Key-Arg : None
Start Time: 1416486728
Timeout : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
closed
문제는 this one for GitHub와 비슷하지만, 우리는 자체 서명 사용 인증서.
25299는 "지정된 항목이 이미 키 체인에 있습니다"를 의미합니다. 아마도 공개 키를 crt 파일에 두 번 복사 한 것입니까? – Phillip
힌트를 보내 주셔서 감사합니다. 키 체인에서 항목을 제거했습니다. –
@ThomasS. 글쎄, 네 문제를 해결 했니? – musiKk