2011-07-14 5 views
5

Tôi cố gắng để tạo ra một https endpoint cho dịch vụ Azure của tôi. Tôi đã nhận được tệp p7b mà tôi đã chuyển đổi thành tệp cer. Từ số cer Tôi đã có thể chuyển đổi bằng một vài dòng C# thành pfx.https Azure với tập tin PFX

var cert = new X509Certificate2(@"certpath", " 
var bytes = cert.Export(X509ContentType.Pfx, "password"); 
File.WriteAllBytes(@"certpath\cert.pfx", bytes); 

Bây giờ khi tôi tải lên các cert để Azure tất cả mọi thứ có vẻ ok, tôi sao chép các vân tay và cố gắng nâng cấp với vân tay mới như một phần của các điểm cuối và tôi nhận được một lỗi trong xanh.

Chứng chỉ có vân tay 3FA490D1D4957942CD2ED545F6E823D0008796EA2 được liên kết với điểm cuối đầu vào HTTPS "endpointName" không chứa khóa cá nhân.

Trả lời

6

Bạn đã chuyển đổi tệp .p7b thành tệp .cer như thế nào? Vấn đề là các tệp cer không chứa thông tin khóa riêng tư, vì vậy khi bạn xuất nó dưới dạng pfx, nó không có thông tin mà nó cần để làm việc với SSL.

Cách dễ nhất để chuyển đổi sang pfx có thể là nhập chứng chỉ vào máy cục bộ của bạn (sử dụng certmgr.msc), sau đó xuất nó đảm bảo bạn chọn tùy chọn "Có, xuất khóa riêng".


EDIT: Sau khi thực hiện một số nghiên cứu thêm sau khi nhận xét của GregS, vấn đề là pfx không có khóa riêng cần làm việc với SSL, nhưng nguyên nhân thực sự là tệp .p7b không có khóa riêng để bắt đầu. Bạn cần sử dụng chứng chỉ khác. Đã có question related to this on server fault.

+1

.p7b tệp không chứa khóa cá nhân. –

+0

Khi bạn nghiên cứu thêm, bạn đã đúng. Tôi đã không làm việc với những tập tin cụ thể trước đây vì vậy tôi chỉ cho rằng nó đã bị mất trong bản dịch từ .cef để .pfx. Tôi sẽ chỉnh sửa để làm rõ. – knightpfhor

2

tôi đã cùng một vấn đề cố gắng để tạo ra pfx cho Azure. Giấy chứng nhận p7b được tạo ra bởi Thawte. Sau một số nghiên cứu tôi đã có thể làm cho nó hoạt động.

  1. Tạo CSR (yêu cầu chứng chỉ) từ IIS. Nó có thể là IIS cục bộ của bạn. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO9171

  2. Tạo chứng chỉ dựa trên CSR. CA chăm sóc điều này. Nếu bạn đang tạo một chứng chỉ tự ký, bạn cũng có thể làm điều đó từ ISS. Điều này rất quan trọng vì khi bạn nhập nó (bước 3) IIS sẽ xác minh rằng chứng chỉ được tạo ra ở đó.

  3. nhập các chứng chỉ để IIS địa phương của bạn. Nó phải là một tệp .cer. Chỉ cần mở tệp p7b của bạn và bạn sẽ thấy chuỗi chứng chỉ trong đó. Xuất chứng chỉ miền của bạn sang tệp .cer. Sau đó, bạn có thể sử dụng nó để nhập nó vào IIS. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10664

  4. Xuất chứng chỉ sang .pfx từ IIS. Tại thời điểm này, chứng chỉ chứa một khóa riêng thích hợp được thêm vào bởi IIS. Khi bạn xuất nó, IIS sẽ hỏi bạn mật khẩu. https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO10034

1

Bắt tập tin PFX từ chứng chỉ SSL từ GoDaddy. Chi tiết here trong trường hợp nó giúp.