Làm cách nào để cài đặt chứng chỉ gốc?


223

Bất cứ ai cũng có thể chỉ cho tôi một hướng dẫn tốt về việc cài đặt chứng chỉ gốc trên Ubuntu 10 hoặc 11 không?

Tôi đã được cung cấp một .crttập tin. Tôi tập hợp nhu cầu đó để tạo một thư mục tại /usr/share/ca-certificates/newdomain.orgvà đặt .crt thư mục đó. Ngoài ra tôi không biết phải tiến hành như thế nào.


19
Nếu bất kỳ ai đang hạ cánh ở đây với một tệp cer thay vì crt, thì chúng đều giống nhau (chỉ với một phần mở rộng khác nhau). Bạn sẽ có thể làm theo những câu trả lời này và chỉ cần thay thế tên tệp.
Oli

Btw: để biết cách thuận tiện để lấy chứng chỉ CA từ dòng lệnh, hãy xem tại đây , trên serverfault.
Frank Nocke

Câu trả lời:


298

Cài đặt chứng chỉ gốc / CA

Đưa ra một tệp chứng chỉ CA foo.crt, hãy làm theo các bước sau để cài đặt nó trên Ubuntu:

  1. Tạo một thư mục để có thêm chứng chỉ CA trong /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Sao chép .crttệp CA vào thư mục này:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Hãy để Ubuntu thêm .crtđường dẫn của tệp liên quan /usr/share/ca-certificatesđến /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Để làm điều này không tương tác, hãy chạy:

    sudo update-ca-certificates
    

Trong trường hợp .pemtệp trên Ubuntu, trước tiên nó phải được chuyển đổi thành .crttệp:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Làm thế nào về việc sử dụng /usr/local/share/ca-certificates(cục bộ!) Thay vì sử dụng một directoy quản lý gói hệ thống được quản lý?
gertvdijk

6
Lưu ý rằng Firefox (và có thể một số phần mềm khác) không sử dụng chứng chỉ toàn hệ thống, nhưng có kho lưu trữ chứng chỉ riêng: Askubfox.com/a/248326/79344 .
Amir Ali Akbari

12
Lưu ý rằng tệp phải ở định dạng PEM và có phần mở rộng ".crt".
Anton

2
sudo dpkg-reconfigure ca-certificatesCảm ơn, người kia sudo update-ca-certificates --freshđã không làm việc vào ngày 16.10.
antivirtel

7
Lệnh openssl x509 -in foo.pem -inform PEM -out foo.crtsao chép tệp PEM thành tệp PEM. Điều này có thể được thực hiện dễ dàng hơn bằng cách đổi tên.
Marian

190

Đưa ra tệp chứng chỉ CA 'foo.crt', hãy làm theo các bước sau để cài đặt nó trên Ubuntu:

Đầu tiên, sao chép CA của bạn vào thư mục /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

sau đó, cập nhật cửa hàng CA

sudo update-ca-certificates

Đó là tất cả. Bạn sẽ nhận được đầu ra này:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Không có tập tin là cần thiết để chỉnh sửa. Liên kết đến CA của bạn được tạo tự động.

Xin lưu ý rằng tên tệp chứng chỉ phải kết thúc .crt, nếu không update-ca-certificatestập lệnh sẽ không nhận được chúng.

Thủ tục này cũng hoạt động trong các phiên bản mới hơn: hướng dẫn sử dụng .


1
điều này dường như không hoạt động trong tahr đáng tin cậy 14.04
mcantsin

25
Xin lưu ý rằng, không giống như thêm vào / usr / share / ca-cert, điều này dường như chỉ hoạt động nếu chúng trực tiếp trong / usr / local / share / ca-cert và không phải là thư mục con. +1 để sử dụng thư mục cục bộ thay vì thư mục hệ thống!
Toby J

2
Điều này được ghi lại trong README.Debian .
pevik

1
@ Sparky1, Đây phải là câu trả lời được chấp nhận.
vẽ Chapin

1
@FranklinYu nhờ :) Debian chuyển từ Sao Alioth để Salsa, điều này sẽ làm việc cũng như: salsa.debian.org/debian/ca-certificates/raw/master/debian/... , nhưng sources.debian.org là tốt hơn.
pevik

7

Cài đặt Tổ chức phát hành chứng chỉ trên Ubuntu

Tôi đã thử nghiệm điều này trên Ubuntu 14.04.

Đây là giải pháp của tôi, tôi đã xem xét và tìm kiếm trong một thời gian dài cố gắng tìm ra cách để làm việc này.

  1. Trích xuất .cer từ trình duyệt. Tôi đã sử dụng IE 11.
    • Cài đặt -> Tùy chọn Internet -> Cơ quan cấp chứng chỉ trung gian
    • Chọn Cơ quan cấp chứng chỉ bạn muốn xuất ( certutil -config - -pingsẽ hiển thị cho bạn những người bạn đang sử dụng nếu bạn đứng sau proxy công ty)
    • Xuất -> Chọn định dạng bạn muốn sử dụng: DER được mã hóa .cer
  2. Nhận tệp .cer vào Ubuntu bằng cách nào đó
  3. Chuyển đổi sang .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Tạo thêm thư mục sudo mkdir /usr/share/ca-certificates/extra
  5. Sao chép chứng chỉ qua sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Nếu không, sau đó bạn phải làm những gì tôi đã làm, đi đến sudo nano /etc/ca-certificates.conf
  8. Cuộn xuống và tìm .cer của bạn và xóa !từ phía trước tên tệp (doc-update-ca-chứng chỉ) - nếu bạn không tìm thấy chứng chỉ của mình chạydpkg-reconfigure ca-certificates
  9. Chạy sudo update-ca-certificates
  10. Bạn có thể cần tin tưởng cá nhân các CA từ Firefox, Chrome, v.v., tôi cần nó để hoạt động với Docker vì vậy sau các bước này, nó hoạt động với Docker.

1
cái này có hoạt động trong 16.04 không?
endolith

@endolith làm việc cho tôi vào 16.04.
Shubham

4

Các câu trả lời khác không phù hợp với tôi với Ubuntu 18.04. Nối chứng chỉ chứng chỉ vào /etc/ssl/certs/ca-certificates.crtsử dụng lệnh sau:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 giờ lộn xộn với các lệnh nhập trước khi tôi tìm thấy điều này. Hoàn hảo!
beirtipol

Lệnh sai, trận chung kết sbị thiếu : cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Cảm ơn giải pháp này.
SommerEngineering

Lưu ý: Đây là giải pháp tạm thời, vì chứng chỉ đã thêm sẽ bị xóa sau khi chạy update-ca-certificates.
kenorb

3

Có chứng chỉ (root / CA) có sẵn trên máy chủ web, cục bộ vào mạng của bạn nếu bạn muốn.

  • Duyệt đến nó với Firefox.
  • Mở chứng chỉ và yêu cầu Firefox thêm nó làm ngoại lệ.
  • Firefox sẽ hỏi bạn liệu bạn có muốn tin tưởng chứng chỉ này để xác định trang web, cho người dùng e-mail hoặc cho nhà xuất bản phần mềm hay không.
  • Thưởng thức!

Cập nhật: Sẽ cần phải kiểm tra xem điều này có hoạt động trên Ubuntu 11. Tôi nhận ra rằng tôi vừa làm điều này trên Ubuntu 12.04 LTS.


5
không firefox container chứng chỉ của riêng mình? Nếu ai đó thêm chứng chỉ theo cách này, chỉ cần firefox có thể sử dụng nó, phải không?
Aiyion.Prime

Điều đó hoàn toàn không hoạt động, bạn vẫn phải thêm nó vào bộ chứa chứng chỉ toàn cầu của HĐH, nếu không nó sẽ chỉ nằm trong bộ chứa Firefox.
arc_lupus

1

Từ đây :

Cài đặt chứng chỉ

Bạn có thể cài đặt tệp key example.key và tệp chứng chỉ example.crt hoặc tệp chứng chỉ do CA của bạn cấp bằng cách chạy các lệnh sau tại dấu nhắc thiết bị đầu cuối:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Bây giờ chỉ cần cấu hình bất kỳ ứng dụng nào, với khả năng sử dụng mật mã khóa công khai, để sử dụng chứng chỉ và tệp chính. Ví dụ: Apache có thể cung cấp HTTPS, Dovecot có thể cung cấp IMAPS và POP3S, v.v.


Nên đọc kỹ hơn ... Có vẻ như đó không phải là chứng chỉ gốc. Trang mà tôi liên kết đến mặc dù có thông tin về chứng chỉ gốc có thể hữu ích.
jat255

1
Tôi không có khóa chung và khóa riêng, tôi chỉ có .crt nên rất tiếc những hướng dẫn đó dường như không được áp dụng.
Sparky1

0

Để thêm chứng chỉ Root CA trong FireFox bây giờ rất dễ dàng. Chỉ cần mở tùy chọn, đi đến "Quyền riêng tư & Bảo mật", cuộn xuống "Chứng chỉ" và nhấp vào "Xem Chứng chỉ ...". Tại đây bạn có thể nhấp vào "Nhập chứng chỉ". Chỉ vào CA gốc của bạn (.pem) và OK. Đó là tất cả mọi người.


0

Dưới đây là các bước đơn giản:

  1. Cài đặt chứng chỉ CA để cho phép các ứng dụng dựa trên SSL kiểm tra tính xác thực của các kết nối SSL:

    sudo apt-get install ca-certificates
    
  2. Sao chép tệp chứng chỉ ( crthoặc.cer ) vào /usr/local/share/ca-certificates/thư mục, ví dụ:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Đối với tệp PEM, xem: Chuyển đổi .pem thành .crt và .key .

    Tùy chọn, nếu sử dụng Charles proxy, lệnh này có thể hoạt động:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Cập nhật chứng chỉ:

    sudo update-ca-certificates
    

    Lệnh sẽ cập nhật /etc/ssl/certsthư mục để giữ chứng chỉ SSL và tạo ca-certificates.crttệp (danh sách chứng chỉ một tệp được ghép nối).

    Lưu ý: Không thêm chứng chỉ theo cách thủ công (như được đề xuất ở đây ), vì chúng không liên tục và sẽ bị xóa.

Lưu ý: Nếu bạn đang chạy như root, bạn có thể thả sudotừ các lệnh trên.


0

Làm rõ giữa update-ca-certificatesdpkg-reconfigure ca-certificatestại sao cái này hoạt động và cái kia không !!

update-ca-certificateshoặc sudo update-ca-certificates sẽ chỉ hoạt động nếu /etc/ca-certificates.conf đã được cập nhật.

/etc/ca-certificate.conf chỉ được cập nhật khi bạn chạy dpkg-reconfigure ca-certificates mà cập nhật tên chứng chỉ sẽ được nhập vào/etc/ca-certificates.conf

Điều này được nêu trong tiêu đề của /etc/ca-certificates.conftệp:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Như bạn có thể thấy, định dạng trong /etc/ca-certificates.conf<folder name>/<.crt name>

Vì vậy, để sử dụng update-ca-certificateshoặc sudo update-ca-certificatesbạn có thể thực hiện các thao tác sau để nhập .crt:

  1. Tạo một thư mục để có thêm chứng chỉ CA trong / usr / share / ca-chứng chỉ:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Sao chép tệp .crt vào thư mục này:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Nối một dòng để /etc/ca-certificates.confsử dụng <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Cập nhật certs không tương tác với sudo update-ca-chứng chỉ

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Chúc vui vẻ!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.