ubuntu/Mac系統智慧卡操作全攻略2-Java Card之旅

來源:互聯網
上載者:User

ubuntu/Mac系統智慧卡操作全攻略2--Java Card之旅

上一個攻略講到怎麼打通linux到讀卡機的訪問,以及實現最底層的APDU收發。現在讓我們進階一下,進入JavaCard的環境:

關於在ubuntu上搭建JavaCard開發環境,參閱我之前的部落格--http://blog.csdn.net/caesarzou/article/details/7534493 , 本文主要講一下JavaCard的應用下載環境:GP相關的工具。

上一篇文章的環境是ubuntu 11.10在12.04下ant已經升級,不再支援jre1.5。所以先做小小修正

1. 在~/.bashrc中刪除JAVA_HOME的定義,使用預設的JRE: OpenJDK icetea

2. 修改~/javacard/samples/build_samples.xml中的編譯任務javac,增加屬性:fork="true" executable="/usr/lib/jvm/java-1.5.0-sun" 或者增加 target="1.5" 來使用sun的1.5jdk編譯或者使用當前的jdk編譯1.5版本的位元組碼。

3. 之前描述了JCOP 3.1.1b eclipse外掛程式在ubuntu上的安裝,但只支援了虛擬卡片。我們現在已經打通了PCSC,現在就讓這個外掛程式來操作實卡。

#首先開啟eclipse,我們發現debug configuration部分的PCSC部分是灰的,不能選擇讀卡機。

#來到外掛程式的目錄

cd /usr/lib/eclipse/plugins/com.ibm.bluez.jcop.eclipse_3.1.1.b/

ls

#我們可以看到作業系統的支援目錄

cd os/linux/x86

ls

#可以看到外掛程式在linux下pcsc介面的動態庫檔案libjpcsc.so,為啥沒起效呢? 我們來分析一下

ldd libjpcsc.so

可以看到此動態庫依賴的一個動態庫找不到了:libpcsclite.so.0

#是不是很眼熟。沒錯,這正式pcsclite的庫。連結失敗可能是因為libjpcsc.so編譯的時候連結的pcsclite的庫版本和當前系統的版本不符。

#我們安裝的pcsclite的庫是gnu的,所以來到目錄

cd /usr/lib/i386-linux-gnu

ls libpcsclite*

#可以找到系統的pcsclite庫檔案:libpcsclite.so (隨著版本不同可能會有變化,具體參考 libpcsclite.la中的libtools的描述)

sudo ln -P libpcsclite.so ../libpcsclite.so.0

#為此庫檔案建立一個永久連結,再次檢查 libjpcsc.so 可以看到連結成功了。

#重新開啟eclipse,開啟debug configurations, 建立一個Java Card Application的配置,可以看到Card Reader一欄已經啟用,選擇讀卡機,配置好ISD和Key,點Debug。

熟悉的JCShell開啟了!

GlobalPlatform自己的開源項目GPShell也有for linux的版本,但是down下來之後編譯總是失敗,有搞定的同學可以指點一下。

anyway,javacard開發和下載的主要環境已經搭好。做JavaCard Applet的同學可以從windows上搬家過來了。 開發COS的同學,還需要搞定gcc交叉編譯~~~我正努力嘗試中,希望相應的攻略儘快出來。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.