CA證書及其工做組計算機之間的SSL設置windows
在說技術以前我想先說點別的,首先這些觀點僅僅表明個人我的一點想法。贊同的你能夠贊一下,不贊同的你也能夠在內心面噴我一下。爲了解決我遇到的問題我也花費了很多的時間去找資料看別人的博客,我想說的是國內的技術環境真的不怎麼樣。我加了個hyper-v高級技術羣(羣號就不公開了),500人的羣掛機的不少說話的不多。偶爾幾個說話的聊的都是如何在vmware裏面開Hyper-v我當時想大家這個是在搞盜夢空間?我當時在羣裏說大家應該研究或者學點實際生產中用到的技術,這樣用這個虛擬軟件開那個虛擬軟件真正不太會用到。但是那些技術」牛人」反駁說咱們作的是技術探索,而後乾脆把我踢出了羣。其餘的我又看了些bbs裏面的內容,真正作技術探索的也是不多大部分都是分享一些國外電子書。也許博客園算得上是技術圈的潤土不少的技術分享也很貼近實際的生產環境。不過仍是但願國內的大牛們不要吝嗇本身的技術多跟你們分享,知識就是用來傳播跟分享的。服務器
今天的CA接着上一次文章中關於本身生成證書的後續,大部份內容我是參考了國外二個技術博客,在這很感謝他們的無私分享。我今天只是把他們作了個小小的翻譯。在實踐過程當中也發現2個都不能很好的實現,然而合併2個以後在我生產環境中實現了。我在此申明我大部分參考了下面2個網站:ide
http://blog.powerbiz.net.au/hyperv/how-to-create-self-signed-certificates-for-hyper-v-replication/網站
在此我把我如何實現的工做組服務器之間用微軟的Makecert.EXE工具生成證書而且相互認證,而且實現SSL通信的步驟分享給你們。若是你們有什麼不明白的也能夠給我留言我只要知道的就會分享給你們。操作系統
在實現過程當中你須要用到微軟的Makecert.EXE工具生成證書,下載地址以下http://msdn.microsoft.com/en-us/library/windows/desktop/aa386968%28v=vs.85%29.aspx.net
關於2個服務器即主服務器和備份服務器跟上篇同樣,服務器的操做系統都是Windows server 2012 都是啓用了hyper-v服務的。翻譯
下載Makecert.EXE軟件放在2臺服務器的某個文件夾中,我是直接放在D盤名稱爲camaker的文件夾下。以管理員身份運行CMD模式而且將路徑指到對應的文件夾個人就是 D:\camakerserver
在主服務器端:blog
1) 在主服務器下CMD中運行下面的命令Run makecert -pe -n 「CN=FirstRootCA」 -ss root -sr LocalMachine -sky signature -r 「FirstRootCA.cer」 這個命令是用來生成你主服務器的root根證書(如何查看證書參考在本文末尾)
2) 在root證書生成後咱們就能夠製做本機的認證證書了命令格式以下:Run makecert -pe -n 「CN=[FQDN1]」 -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in 「FirstRootCA」 -is root -ir LocalMachine -sp 「Microsoft RSA SChannel Cryptographic Provider」 -sy 12 FirstServer.cer
3) 從備份服務器中複製備份服務器的root根證書
4) 用以下的命令將備份服務器中的根證書添加到本身的信任證書之中:Run certutil -addstore -f Root 「SecondRootCA.cer」
5) 在註冊表中加入以下2個鍵值,具體2個鍵值作什麼用我沒有研究過若是有人知道請告訴我吧!其中國外的博客中只加入一個鍵值不過通過我驗證只加一個鍵值不能成功設置。
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication REG_DWORD = DisableCertRevocationCheck with value 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication REG_DWORD = DisableCertRevocationCheck with value 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
在備份服務器端:
1) 在備份服務器下CMD中運行下面的命令Run makecert -pe -n 「CN= SecondRootCA」 -ss root -sr LocalMachine -sky signature -r 「SecondRootCA.cer」 這個命令是用來生成你主服務器的root根證書(如何查看證書參考在本文末尾)
2) 在root證書生成後咱們就能夠製做本機的認證證書了命令格式以下:Run makecert -pe -n 「CN=[FQDN2]」 -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in 「SecondRootCA」 -is root -ir LocalMachine -sp 「Microsoft RSA SChannel Cryptographic Provider」 -sy 12 SecondServer.cer
3) 從備份服務器中複製備份服務器的root根證書
4) 用以下的命令將備份服務器中的根證書添加到本身的信任證書之中:Run certutil -addstore -f Root 「FirstRootCA.cer」
5) 在註冊表中加入以下2個鍵值
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication REG_DWORD = DisableCertRevocationCheck with value 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication REG_DWORD = DisableCertRevocationCheck with value 1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
你們拷貝命令後最好先粘貼到記事本中檢查一下冒號是否複覈運行格式。這樣在你設置hyer-v複寫選項的時候就能夠直接找到本機的證書,並且這個證書也是加入到對方服務器的證書信任域中的。
關於如何查看咱們生成的證書方式以下:
查看證書的方式是mmc->File->Add/Remove Snap in…->Certificates->Add->」Computer Account」->Next->Finish->Ok
你就會發現你的我的證書和root根證書在高亮的文件夾中出現了