2008-10-09 41 views
8

Chúng ta có một ứng dụng máy chủ Windows loại thu hẹp, nơi chúng ta cần phải tạo một chứng chỉ tự ký trên máy chủ để được sử dụng bởi một số dịch vụ web WCF. Từ các tìm kiếm của chúng tôi trên web, có vẻ như tiện ích makecert trong PlatformSDK của Microsoft không thể được phân phối cùng với ứng dụng của chúng tôi, vì vậy chúng tôi đang tìm kiếm các giải pháp thay thế.Chứng chỉ tự ký trong Windows mà không có makecert?

Có ai biết cách sử dụng OpenSSL để tạo chứng chỉ và đưa nó vào kho lưu trữ chứng chỉ Windows LocalMachine không? Hoặc, cách khác là nó thẳng về phía trước để chèn chứng chỉ vào cửa hàng trong một ứng dụng .NET và chúng ta có nên tạo tệp chứng chỉ với openssl không? Bất kỳ trợ giúp/đề xuất sẽ được đánh giá cao.

+0

bạn đã kết thúc những gì đang làm gì? –

+0

Chúng tôi thực sự đã kết thúc việc thay đổi các ràng buộc và không sử dụng chứng chỉ phía máy chủ. Thiết lập một thủ tục để cài đặt Microsoft Certificate Services, như đã đề cập dưới đây có lẽ là phương thức ưa thích, nhưng nó sẽ là tuyệt vời nếu một giải pháp thay thế được đưa ra. –

Trả lời

8

[Thật không may, tôi không thể bình luận cho câu hỏi nào, vì vậy tôi sẽ đăng bài này như một câu trả lời.]

tôi thấy rằng bài viết này là một chút cũ, nhưng tôi đang ở trong một chiếc thuyền tương tự và tôi thấy điều này trong Visual Studio 2008 tập redist.txt:

Windows SDK Files 

Subject to the license terms for the software, the following files may be distributed unmodified: 

MageUI.exe 
Mage.exe 
Makecert.exe 

Không chắc chắn nếu một cái gì đó đã thay đổi (và nếu giải thích của tôi là đúng), nhưng có vẻ như makecert.exe bao gồm như là một phần của Windows SDK, đó là trong lượt bao gồm như là một phần của cài đặt VS2008 thực sự có thể được phân phối lại.

+0

Đó cũng là sự hiểu biết của tôi. – EricLaw

+0

Thật kỳ lạ, 'makecert' đã biến mất trong tệp redist.txt VS2010 – Cameron

2

Woohoo! Đã đến lúc pinvoke cho bạn

crypt32 cung cấp chức năng CertCreateSelfSignCertificate; nếu điều đó thành công, bạn có thể lưu trữ nó trong cửa hàng cá nhân của người dùng (hoặc cửa hàng máy giả định bạn đang hoạt động cao)

2

Tôi chưa sử dụng OpenSSL, nhưng tôi đang ở trong cùng một thuyền và thấy bài viết này hữu ích:

Securing WCF Services with Certificates

tác giả bạn đi qua cài đặt Microsoft Certificate Services, tạo ra một CA có thể được bổ sung vào các nhà chức trách chứng chỉ tin cậy (trên cả máy khách và máy chủ, vì nó tự ký), sau đó tạo chứng chỉ client và server chuỗi đó từ chứng chỉ CA tự ký.

Bạn sẽ không cần chứng chỉ ứng dụng khách, nhưng nó giúp bạn tạo chứng chỉ CA và máy chủ tự ký.

7

Bây giờ bạn có thể tạo chứng chỉ tự ký bằng PowerShell Các lệnh bạn cần là New-SelfSignedCertificate và Export-PfxCertificate. Ex: để tạo ra một giấy chứng nhận

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname orin.windowsitpro.internal 

để xuất khẩu nó

Export-PfxCertificate -cert cert:\localMachine\my\CE0976529B02DE058C9CB2C0E64AD79DAFB18CF4 -FilePath e:\temp\cert.pfx -Password $pwd 

Liên kết này là thực sự hữu ích

http://windowsitpro.com/blog/creating-self-signed-certificates-powershell

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