积极答复者
在构筑OCS的edge server时,从组织的证书WEB下载的p7b无法安装

问题
-
问题如题!
我就按照technet说的,点击证书WEB的下面这个按钮,下载到一个p7b文件。显示是PKCS #7证书。
Download CA certificate chain
可是在导入内部server的证书的时候,却提示这个不是有效的p7b文件。这是怎么回事?
答案
-
http://hi.baidu.com/windowserver/blog/item/dcb372e795b8342bb93820aa.html
http://hi.baidu.com/windowserver/blog/item/f539f616292a501d972b4317.html
请参考落雪的文章,我以前也写过.你可以搜搜!
也没啥说的.有空多来我的Blog看看!专注虚拟化技术! 虚拟化技术百科@http://www.vzpedia.com- 已标记为答案 许珈毓Moderator 2009年9月4日 3:05
全部回复
-
http://hi.baidu.com/windowserver/blog/item/dcb372e795b8342bb93820aa.html
http://hi.baidu.com/windowserver/blog/item/f539f616292a501d972b4317.html
请参考落雪的文章,我以前也写过.你可以搜搜!
也没啥说的.有空多来我的Blog看看!专注虚拟化技术! 虚拟化技术百科@http://www.vzpedia.com- 已标记为答案 许珈毓Moderator 2009年9月4日 3:05
-
我用notepad看了一下下下来的p7b文件,竟然是明文(内容如下)。这个是什么错误……
<%@ CODEPAGE=65001 'UTF-8%>
<%' certnew.p7b - (CERT)srv web - return a (NEW) certificate
' Copyright (C) Microsoft Corporation, 1998 - 1999 %>
<!-- #include FILE=certdat.inc -->
<!-- #include FILE=certsrck.inc -->
<% ' ########## BEGIN SERVER SIDE EXECUTION ##########'Process a Certificate Request
Dim nDisposition, nResult, sCert, sErrMsg, nEncoding
On Error Resume Next' from \nt\public\sdk\inc\certcli.h
Const CR_OUT_BASE64HEADER=&H00000000
Const CR_OUT_BASE64=&H00000001
Const CR_OUT_BINARY=&H00000002
Const CR_OUT_CHAIN=&H00000100
'Disposition code ref: \nt\public\sdk\inc\certcli.h
Const CR_DISP_INCOMPLETE =0
Const CR_DISP_ERROR =1
Const CR_DISP_DENIED =2
Const CR_DISP_ISSUED =3
Const CR_DISP_ISSUED_OUT_OF_BAND=4
Const CR_DISP_UNDER_SUBMISSION =5
Const CR_DISP_REVOKED =6
Const no_disp=-1Const CR_PROP_CASIGCERTCHAIN=13
Const PROPTYPE_BINARY=3'Stop 'debugging breakpoint
' determine the requested encoding
If "bin"=Request.QueryString("Enc") Then
nEncoding=CR_OUT_BINARY
Else '"b64"=Request.QueryString("Enc")
nEncoding=CR_OUT_BASE64HEADER
End If' create the object to do the request
Set Session("ICertRequest")=Server.CreateObject("CertificateAuthority.Request")
Set ICertRequest=Session("ICertRequest")
nDisposition=no_dispErr.Clear 'make sure we catch the HRESULT and not some earlier error
If "CACert"=Request.QueryString("ReqID") Then
' get the CA cert
sCert=ICertRequest.GetCAProperty(sServerConfig, CR_PROP_CASIGCERTCHAIN, Request.QueryString("Renewal"), PROPTYPE_BINARY, nEncoding)
nResult=Err.Number
sErrMsg=Err.DescriptionIf 0<>nResult Then
'internal redirect - transfer control to error page
Session("nResult")=nResult
Session("sErrMsg")=sErrMsg
Server.Transfer("certrser.asp")
End IfElse
' Fetch the user's cert
nDisposition=ICertRequest.RetrievePending(Request.QueryString("ReqID"), sServerConfig)
nResult=Err.Number
sErrMsg=Err.Description
If nDisposition=CR_DISP_ISSUED Then
' Remove this request from the user's cookie
RemoveReq(Request.QueryString("ReqID"))' retrieve the certificate
sCert=ICertRequest.GetCertificate(nEncoding Or CR_OUT_CHAIN)
Else
'internal redirect - transfer control to error page
Session("nDisposition")=nDisposition
Session("nResult")=nResult
Session("sErrMsg")=sErrMsg
Server.Transfer("certrser.asp")
End If
End If
' Tell the client we are sending a cert chain
Response.ContentType="application/x-pkcs7-certificates"' send the cert chain to the client
Response.Clear 'guarantee no extraneous bytes
If CR_OUT_BINARY=nEncoding Then
Response.BinaryWrite(sCert)
Else
Response.Write(sCert)
End If
' ########## END SERVER SIDE EXECUTION ##########
%>