Showing posts with label certreq. Show all posts
Showing posts with label certreq. Show all posts
Wednesday, October 07, 2009

Request Cert Without IIS(Server2008) and Config Reporting Server 2008 using SSL

吼!!!!!!!!!!!!!!!!!!!!! 搞了兩個多禮拜!!
記錄一下
  1. 怎麼利用Certreq.exe工具產生一個憑證要求,再利用此*.req向內部憑證核發單位要到憑證。這是完全不透過IIS要求憑證的做法。
  2. 設定讓Reporting Service也能使用安全性連線(https://XXX/ReportServer)
之前將SQL Server從2005整個異機升級到2008(here),2008的report server號稱不再依靠IIS就可以運作,好是好,但是我要做安全性連線阿!!! 一直以來只知道怎麼用IIS要求憑證,現在既然沒IIS了... 也不想因為一個憑證就架起來,文件也說IIS 和 Reporting Services 安裝在同一部電腦上會影響報表伺服器的SSL連線(here),只好開始研究怎麼不靠IIS取得憑證。

利用Certreq.exe
  1. 先產生一個*.inf,待會配合certreq -new要用的,*.inf內容如下:
    抱歉我無法解釋這個東西.....
    (subject內CN=" "內需改成完整電腦名稱)

  2. [NewRequest]
    Subject = "CN=host.domain.com"
    KeySpec = 1
    KeyLength = 1024
    Exportable = TRUE
    MachineKeySet = TRUE
    UseExistingKeySet = FALSE
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    ProviderType = 12
    RequestType = PKCS10
    KeyUsage = 0xa0

    [EnhancedKeyUsageExtension]
    OID=1.3.6.1.5.5.7.3.1


  3. 系統管理員身分開啟命令提示字元(cmd),切換到剛剛產生的inf檔資料夾下,假設剛剛存的檔案為certReq.inf。用下面指令產稱一個*.req檔
    > certreq -new certReq.inf certReq.req

    完成後系統會回覆: CertReq: Request Created
    在同層資料夾下可以看見剛剛產生的certReq.req

  4. 以記事本開啟此certReq.req,可以看見一堆像亂碼的文字放在
    "-----BEGIN NEW CERTIFICATE REQUEST-----" 跟
    "-----END NEW CERTIFICATE REQUEST-----" 兩段文字中間,
    整個內容copy下來,接下來的步驟就比較熟悉了。

  5. 開啟內部核發憑證的伺服器 http://serverName/certsrv
    依序點選: 要求憑證 > 提交進階憑證要求 > 用 Base-64 編碼的CMC或PKCS #10檔案來提交憑證要求,或用Base-64編碼的PKCS #7檔案提交更新要求。
    最後將剛剛copy的整串字貼上,點選"提交 >", 最後將憑證下載回來。





  6. 開啟MMC(run> mmc),打開憑證嵌入式管理單元(電腦帳戶),如下:







  7. 剩下就給他"下一步","確定"之類的完成。

  8. 在"個人"那一層匯入剛剛取得的憑證:



  9. 完成!!!! 只完成憑證的部分= =b
設定Reporting Server 使用SSL連線
(... 好懶的寫了) 其實就是照著文件Ref#1 做就行了,但是之前憑證裝好,照著步驟做完設定之後,還是無法以https連上reportServer... 關鍵在當初申請憑證時的名稱... 似乎需要使用完整電腦名稱,這個東西小小的寫在Reporting Services組態管理員的help裡...



Ref:

Tags