• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 13  文章 - 36  trackbacks - 0
            <2009年5月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(2)

            隨筆檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            轉自
            http://www.infosecurity.org.cn/forum/thread.php?fid=11&page=1

            Q:

            有為usbkey寫過csp的嗎?請問如何實現用usbkey來保存證書?
            csp的CPSetKeyParam()需要注意什么?(MSDN上的沒看懂)是否需要設定PK_CERTIFICATE這個參數?

            比如,需要將產生的證書存在D盤根目錄下面(暫時代替usbkey),需要哪里設定?

            A:

            分別通過調用CryptSetKeyParam和CryptGetKeyParam來調用CSP實現的CPSetKeyParam和CPGetKeyParam
            當dwParam為KP_CERTIFICATE時,CPGetKeyParam的pbData就是證書的DER編碼值。

            Q:

            使用usbkey時,彈出了一個輸入pin碼的框,這個框應該是CPGenKey()時來彈出的吧?!

            A:

            在產生證書請求的時候,CSP產生一個新容器,然后在容器里產生密鑰對,然后使用密鑰對產生證書請求。安裝證書的時候,找到對應的容器,在對應的位置寫入證書。
            PIN的輸入框,通常是要進行一個要求驗證PIN碼才能正常完成的操作,而以前有沒有輸入過PIN的情況下彈出的。通常這些操作包括產生容器、產生密鑰對、寫入證書、簽名、使用私鑰解密等。PIN的輸入框是由CSP的實現者實現的。據MSDN說如果CryptAcquireContext的dwFlags包括CRYPT_SILENT,則不能彈出PIN的輸入框。

            Q:

            經過幾天的試驗,有些進展。在如下方面還是有些不明白:
            1、申請證書時,是隨機產生的一串id,作為密鑰的容器名,并存在證書里面(猜測);安裝證書時,在調用CAPI函數自動傳進來的吧;如果不是這樣,那先前的那個容器名怎么取得?
            2、在使用證書進行加、解密、簽名時,應該也是從證書里面取的密鑰容器名吧
            3、CA證書的一些Store和密鑰容器理解上還是有些含糊
            4、這個是以后的問題了:就是自己做一個應用軟件,調用CAPI函數來使用已有的證書進行加、解密和簽名。這個好像有好多帖子,到時候再一起討論。
            A:

            容器名不會存在證書里的。
            證書和CSP信息的關聯是由證書庫來關聯的。

            以xenroll產生證書請求和安裝為例,大致過程是這樣的:
            產生證書請求時,通常先產生一個新的容器,在容器里產生一對密鑰對,然后用該密鑰對產生證書請求。接著產生一個假證書,該證書的簽名只有幾個字節,然后把CSP的相關信息保存在該證書對象的CERT_KEY_PROV_INFO_PROP_ID屬性里,最后把該證書對象加入到請求證書庫里。
            安裝證書時,在請求證書庫里,根據公鑰找到匹配的假證書,設置要安裝的證書的對象的CERT_KEY_PROV_INFO_PROP_ID屬性為請求證書庫里相應證書的CERT_KEY_PROV_INFO_PROP_ID屬性,并加入到個人證書庫里。然后刪掉請求證書庫里的對應證書。如果發現是USBKEY的CSP,會把證書也寫入到USBKEY中。

            以后使用證書來解密、簽名的時候,會在個人證書庫里找到對應證書的CERT_KEY_PROV_INFO_PROP_ID屬性,來獲取CSP信息,調用CSP來解密、簽名的。

            posted on 2009-05-10 19:31 Alex-Lee 閱讀(1174) 評論(0)  編輯 收藏 引用
            午夜不卡久久精品无码免费| 亚洲精品高清国产一久久| 久久久久久精品久久久久| 伊人久久无码中文字幕| 国产一级持黄大片99久久| 久久久久这里只有精品 | 国产AV影片久久久久久| 欧美成人免费观看久久| 久久96国产精品久久久| 香蕉久久夜色精品国产2020| 久久综合九色综合97_久久久| 亚州日韩精品专区久久久| 国产人久久人人人人爽| 日韩十八禁一区二区久久| 狠狠色丁香久久综合婷婷| 国产香蕉久久精品综合网| 狠狠色丁香久久综合五月| 欧美成人免费观看久久| 久久人搡人人玩人妻精品首页| 久久久久无码精品国产| 国产精品久久久久a影院| 精品国产婷婷久久久| 久久综合欧美成人| 久久天天躁狠狠躁夜夜躁2O2O| 久久久久国产一区二区三区| 久久国产精品99久久久久久老狼 | 高清免费久久午夜精品| 久久人人爽人爽人人爽av | 中文字幕精品久久久久人妻| 国产成人无码精品久久久久免费| 亚洲国产精品无码成人片久久| 久久精品中文字幕大胸| 久久午夜综合久久| 欧美久久综合九色综合| 欧美粉嫩小泬久久久久久久| 精品国产乱码久久久久久浪潮 | 蜜臀av性久久久久蜜臀aⅴ| 狠狠色婷婷久久一区二区| 欧美精品乱码99久久蜜桃| 97精品伊人久久久大香线蕉| 波多野结衣久久精品|