Làm thế nào để tạo tập tin chứng chỉ .cer?


11

Tôi muốn làm việc với các chứng chỉ và cơ quan có thẩm quyền phần thứ ba gửi cho tôi các giá trị:

-----BEGIN CERTIFICATE-----
[...]Many letters and digits[...]
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
[...]Many letters and digits[...]
-----END RSA PRIVATE KEY-----

Nhưng tôi cần một tệp .cer để đặt vào IIS của tôi. Làm thế nào tôi có thể tạo tập tin .cer này?

Cảm ơn trước cho bất kỳ câu trả lời.

Câu trả lời:


14

Những gì bạn đã được trao là một Chứng chỉ (phần công khai, được ký bởi một bên đáng tin cậy) và khóa liên quan (phần riêng tư). Nói một cách đơn giản, đó là khóa riêng cho phép ứng dụng của bạn ký tên theo cách mà bên từ xa có thể xác thực bằng cách sử dụng phần chung, chứng chỉ. Máy chủ của bạn cần phải có cả hai liên kết với nhau để các giao thức như SSL \ TLS có thể hoạt động chính xác.

Trong trường hợp của bạn, bạn đã được cung cấp một cặp hoàn chỉnh, không chỉ là Chứng chỉ. Định dạng bạn đã được cung cấp có tên là PEM và thật không may, Trình quản lý chứng chỉ Windows không thể nhập nguyên bản (theo hiểu biết tốt nhất của tôi).

Cách nhanh nhất tôi đã tìm thấy để chuyển đổi nó là cài đặt OpenSSL đâu đó và chuyển đổi các tập tin bạn phải PKCS # 12 định dạng bằng cách sử dụng lệnh sau đây. Bạn sẽ cần chia tệp bạn nhận được từ CA thành hai phần, một phần chứa khối chứng chỉ có tên là "cert.txt" và một phần chứa khối khóa riêng gọi là "key.txt":

openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt

Khi bạn có tệp định dạng PKCS # 12, bạn có thể nhập tệp vào Windows:

  • Mở MMC (Bắt đầu -> Chạy -> MMC.exe) và sau đó chọn thêm \ xóa snap-in và thêm vào Chứng chỉ snap in.
  • Chọn "Tài khoản máy tính" làm bối cảnh.
  • Nhấp chuột phải vào thư mục "Cá nhân" và chọn "Nhiệm vụ> Nhập"
  • Tìm tệp mycertkey.p12 bạn đã tạo và nhập chứng chỉ và khóa riêng vào kho Chứng chỉ của Máy tính.

Khi chứng chỉ được cài đặt, bây giờ bạn có thể gán nó từ trong IIS (điều này có thể thay đổi một chút tùy thuộc vào phiên bản IIS)

  • Mở IIS Management Console và nhấp chuột phải vào tên miền bạn muốn gán chứng chỉ.
  • Chọn thuộc tính
  • Chọn tab "Bảo mật thư mục" và sau đó "Chứng chỉ máy chủ"
  • Làm theo lời nhắc của Trình hướng dẫn Chứng chỉ, chọn Tiếp theo, sau đó chọn "Gán Chứng chỉ" rồi Tiếp theo lại.
  • Tìm và chọn chứng chỉ bạn vừa nhập và nhấp OK.

Nên làm vậy.


cảm ơn câu trả lời chi tiết của bạn, nhưng openssl nói với tôi: Đang tải 'màn hình' sang trạng thái ngẫu nhiên - không thể tải khóa riêng

1
và bây giờ, tôi có "không có chứng chỉ khớp với khóa riêng"

1
Có thể một cái gì đó đã bị hỏng trong khi chia tệp định dạng PEM. Nếu bạn thử lệnh Openssl bằng tệp gốc từ CA của bạn vì cả tệp -in và tệp -inkey thì nó cũng hoạt động. Nếu nó có thể khớp với cặp, nó sẽ nhắc bạn nhập mật khẩu cho tệp đầu ra p12.
Helvick

1
nên là, tôi đã xuất lại tệp, và nó ổn. Cảm ơn rất nhiều vì sự giúp đỡ của bạn

1
Trong lệnh openssl của bạn, việc thay đổi tên tệp đầu ra từ mycertkey.p12 thành mycertkey.pfx sẽ cho phép nhập dễ dàng hơn. PFX là một phần mở rộng tệp đã đăng ký trong Windows mà bạn chỉ cần nhấp đúp chuột vào để bắt đầu trình hướng dẫn nhập chứng chỉ.
Ryan Bolger

1

Bài viết này bao gồm quá trình tạo yêu cầu chứng chỉ và cài đặt chứng chỉ sau khi cơ quan ký kết (GoDaddy, Thawte, v.v.) đã cấp chứng chỉ của bạn.


0

Chuỗi bạn đã dán là chứng chỉ X.509 được mã hóa Base64 DER.

IIS mong đợi định dạng tệp chứng chỉ nào? Thử đơn giản nhất là lưu nội dung này trong tệp .cer và chuyển nó vào IIS.

Xem http://en.wikipedia.org/wiki/X.509#Cert ve_filename_extensions để biết chi tiết

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.