日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDK5.0环境下配置PKCS#11

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK5.0环境下配置PKCS#11 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JDK5.0環境下配置PKCS#11


發表日期:2008-1-5


新浪微博 QQ空間 QQ微博 百度搜藏 騰訊朋友 QQ收藏 百度空間 人人網 開心網




  這篇文章不介紹具體的編程方法,而是針對PKCS#11的初學者介紹如何在JDK5.0環境中配置PKCS#11,具體的編程方法可以關注我的下一篇文章,或者


參考PKCS#11手冊以及SUN MicroSystem公司關于PKCS#11的手冊。?




需要的環境:?


JDK5.0版本已經可以支持對PKCS#11的操作,這里就介紹一下如何實現在JDK5.0環境下配置PKCS#11,并且根據不同的操作系統提供相應的解決方案。?


首先介紹一下配置環境:JDK5.0,支持標準PKCS#11的設備(包括Smartcard,加密卡等等),支持PKCS#11的系統(WINDOWS/linux/UNIX等),以及設備


供給商提供的標準PKCS#11接口。(注:PKCS#11接口只是一個動態庫文件,其中封裝了PKCS#11標準函數,在不同的平臺上其格式不同,例如在WINDOWS


上其格式是*.DLL,在LINUX上其形式是*.so)?


配置方法:?


在JDK5.0環境中配置訪問PKCS#11的方法非常簡單:只用編輯一個*.CFG文件就可以了。因為JDK5.0中已經做好了對PKCS#11的橋接。具體方法是:?


1、在*.CFG文件中編輯好相應的參數和對應的值。?


2、在java語言中用PRovider p = new sun.security.pkcs11.SunPKCS11(*.cfg文件的絕對路徑)


3、進行相應的操作,具體的操作會在我的下一片文章中介紹。?


具體*.cfg的內容以及格式是:?


1、name=value 其中name是指明后面的value是該PKCS#11的名稱。?


2、library=*.dll/*.so的絕對路徑 library后面是指明標準PKSC#11接口的絕對地址?


3、description=value是該PKCS#11的注釋,可以通過前面的Provider p的getInfo方法得到其值


4、slotListIndex = value/slot = value 這個標示比較非凡,假如該PKCS#11的硬件提供商提供了多個可以支持該PKCS#11的設備,那么不同設備之間


必須通過不同的slot來區分,那么,在使用的時候必須明確的了解具體的硬件對應的slot的值,其中slotListIndex和slot中只用一個即可。假如在配置


文件中不指明的話,那么默認的是slot=0。這時假如提供商提供了多個硬件設備,則你的程序中智能調用slot=0的那個設備。所以建議在編輯該*.cfg時


添加該參數。?


5、其余的參數并不是很常用,欲具體了解可以訪問http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide.Html?


解決方案:?


跨平臺時JAVA語言的一大特性,那么PKCS#11也應做到跨平臺操作。當然,前提是該實現了PKCS#11接口的硬件可以跨平臺(專有驅動或者是無驅型)。


但由于*.cfg中指定PKCS#11接口的地址是絕對地址,所以假如想要做到跨平臺就要動態的產生cfg文件了。?


具體的解決方案如下:?


1、首先確認該硬件可以支持當前的系統。?


2、確認已經安裝了相應的驅動(無驅型設備的驅動是由系統提供的)?


3、確認該硬件的slotListIndex或者slot值?


4、使用System.getProperty(“java.home”);獲得路徑,做為存儲*.CFG文件的目錄。取名為cfgpath?


5、用JFileChooser來選擇PKCS#11文件,從而獲得library的值,取名為LibPath?


6、建立一個FileOutputStream來存儲*.CFG文件,分別寫入name的值,library的值(LibPath)description的值和slotListIndex的值。這樣,就可以


動態的創建cfg文件了。?


7、然后 就可以用Provider p = new sun.security.pkcs11.SunPkcs11(cfgpath);來加載文件,從而達到通過PKCS11來訪問硬件的目的。?


前面的4~7步只是一個demo,具體實施時可以根據具體的情況來改變。到此JDK5.0環境下配置PKCS#11就已經介紹完了。假如希望了解JAVA語言中的


PKCS#11操作,請關注下一篇文章。

總結

以上是生活随笔為你收集整理的JDK5.0环境下配置PKCS#11的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。