簡體   English   中英

Java 3.0智能卡Servlet可以與Web服務器交互嗎?

[英]Can a Java 3.0 Smart Card Servlet interact with a Webserver?

根據這個oracle doc,Java 3.0智能卡可以安裝servlet而不是傳統的Java applet。 這是相應的Oracle Doc。

http://www.oracle.com/technetwork/articles/java/javacard-servlets-136657.html

“開發人員不再需要創建單獨的客戶端應用程序來訪問智能卡上的數據和資源。唯一需要的客戶端界面是普通的Web瀏覽器。智能卡應用程序現在是基於TCP的完全運行的服務器。這些服務器應用程序是Java servlet ,它們有一個完整的HTTP堆棧,允許它們處理GET請求,POST請求,標題,cookie,會話等。您可以通過以下方式保護客戶端(瀏覽器)和服務器(智能卡)之間的數據。使用行業標准的SSL(安全套接字層)。“

我的情況是我想從我的網站與用戶的智能卡進行交互。 不再支持在我的網站上使用HTML內的Java Applet的傳統方法,Java Web Start效率低且用戶不友好。

一個簡單的例子是PIN驗證。 一個4位數的引腳存儲在智能卡上。 我的網站將提示用戶輸入他們的PIN,將他們的智能卡插入他們的讀卡器。 我的網站將能夠將具有輸入的PIN的必要APDU命令發送到卡,並且能夠接收響應APDU命令,以使Web服務器知道PIN是否正確。

我的問題是,考慮到在智能卡上執行Servlet的功能,是否可以讓我的網站與用戶的智能卡進行交互?

如果是這樣,有人可以給我一些簡單的偽或指示來完成這個嗎? 我沒有使用servlet,但我可以學習。

您所描述的是API的一部分,稱為Java Card Connected版本。 大多數 - 如果不是全部 - 市場上的Java Card實現是Java Card Classic版本。 連接版的主要技術問題是它需要具有24至32 KiB內存的智能卡。 這可能聽起來不是很多,但片上SRAM 非常昂貴。 高端“經典”卡具有大約8到12 KiB的RAM。

要與網站進行某種互動,您需要某種連接。 不知何故,您需要將此HTTP(S)請求轉換為發送到卡並返回的數據包。 只要沒有安裝任何軟件,您將無法將瀏覽器連接到智能卡。


當然,在將瀏覽器連接到智能卡時,有各種解決方案。 專有的瀏覽器插件,PKCS#11模塊,小程序。 您已經命名為webstart和逐漸減少的Java(標准版)小程序。 一切都有其優點和缺點。 在大多數情況下,Java Card Connected不直接適用 - 不幸的是。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM