工作组服务器虚拟化Hyper-V Replica 复写技术(三)

CA证书及其工作组计算机之间的SSL设置

在说技术之前我想先说点别的,首先这些观点仅仅代表我的个人一点想法。赞同的你可以赞一下,不赞同的你也可以在心里面喷我一下。为了解决我遇到的问题我也花费了不少的时间去找资料看别人的博客,我想说的是国内的技术环境真的不怎么样。我加了个hyper-v高级技术群(群号就不公开了),500人的群挂机的很多说话的很少。偶尔几个说话的聊的都是如何在vmware里面开Hyper-v我当时想你们这个是在搞盗梦空间?我当时在群里说你们应该研究或者学点实际生产中用到的技术,这样用这个虚拟软件开那个虚拟软件真正不太会用到。可是那些技术”牛人”反驳说我们做的是技术探索,然后干脆把我踢出了群。其他的我又看了些bbs里面的内容,真正做技术探索的也是很少大部分都是分享一些国外电子书。也许博客园算得上是技术圈的润土很多的技术分享也很贴近实际的生产环境。不过还是希望国内的大牛们不要吝啬自己的技术多跟大家分享,知识就是用来传播跟分享的。

今天的CA接着上一次文章中关于自己生成证书的后续,大部分内容我是参考了国外二个技术博客,在这很感谢他们的无私分享。我今天只是把他们做了个小小的翻译。在实践过程中也发现2个都不能很好的实现,然而合并2个之后在我生产环境中实现了。我在此申明我大部分参考了下面2个网站:

http://blogs.technet.com/b/virtualization/archive/2013/04/13/hyper-v-replica-certificate-based-authentication-makecert.aspx

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

关于2个服务器即主服务器和备份服务器跟上篇一样,服务器的操作系统都是Windows server 2012 都是启用了hyper-v服务的。

下载Makecert.EXE软件放在2台服务器的某个文件夹中,我是直接放在D盘名称为camaker的文件夹下。以管理员身份运行CMD模式并且将路径指到对应的文件夹我的就是 D:\camaker

在主服务器端:

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根证书在高亮的文件夹中出现了

posted @ 2014-02-15 22:04  成魔的纪花鱼  阅读(1379)  评论(0编辑  收藏  举报