2013-04-02 45 views
13

Tôi đang cố gắng truy cập dịch vụ của bên thứ ba thông qua PHP curl trên hệ thống Centos 6 đi kèm với curl và libcurl được biên dịch chống lại NSS thay vì OpenSSL.NSS: không tìm thấy chứng chỉ ứng dụng khách (biệt hiệu không được chỉ định)?

Điều này gây ra sự cố cho tôi, mỗi khi tôi cố truy cập dịch vụ, tôi nhận được lỗi này NSS: client certificate not found (nickname not specified).

Sự hiểu biết của tôi là tôi cần cài đặt chứng chỉ trong cơ sở dữ liệu NSS.

Tôi đang tìm hướng dẫn từng bước về cách để làm điều này (lưu ý, tôi cần điều này để làm việc với các PHP functions curl gọi từ máy chủ Nginx)

Cảm ơn

Trả lời

14

Hãy thử bắt đầu chứng nhận tên tệp bằng "./" hoặc sử dụng đường dẫn đầy đủ. Từ manpage curl:

Nếu curl được xây dựng đối với các thư viện NSS SSL sau đó tùy chọn này [--cert] thể nói curl nickname Giấy chứng nhận để sử dụng trong cơ sở dữ liệu NSS được định nghĩa bởi SSL_DIR biến môi trường (hoặc bằng mặc định/etc/pki/nssdb). Nếu mô-đun NSS PEM PKCS # 11 (lib- nsspem.so) có sẵn thì tệp PEM có thể được tải. Nếu bạn muốn sử dụng tệp từ thư mục hiện tại, vui lòng đặt trước nó bằng tiền tố "./" để tránh nhầm lẫn với biệt hiệu.

(tôi nhấn mạnh)

Ngoài ra, một số hướng dẫn để nhập vào cơ sở dữ liệu chứng nhận NSS đang ở đây, mặc dù tôi đã không sử dụng chúng: http://rcritten.fedorapeople.org/nss_compat_ossl.html

+0

Điều này phù hợp với tôi. (Tình yêu phục hồi "cũ" bài viết!) –

+1

nó không làm việc cho tôi ... curl của tôi không được biên dịch với nsspem. Vì vậy, tôi đang sử dụng cơ sở dữ liệu nss ... nhưng curl không bao giờ tìm thấy tên thân thiện chính của tôi. Ngay cả khi tôi quản lý để liệt kê các tên khóa với certutil ... – smashing

+0

Điều này đã không làm việc cho tôi, nhưng dẫn tôi đi đúng hướng. CURL của tôi đã được biên dịch với NSS (được kiểm tra với phiên bản curl) - và bài đăng này là giải pháp kết thúc với tôi: http://stackoverflow.com/questions/19265100/curl-command-unable-to-load-client -cert-8018/20140138 # 20140138 – KFox112

0

tôi nhận được thông báo lỗi tương tự với curl khi tôi nhập sai mật khẩu khi cố truy cập máy chủ FTPS sử dụng xác thực mật khẩu đơn giản. Nó không liên quan gì đến chứng chỉ.

Các vấn đề liên quan