{"id":403,"date":"2009-10-08T21:22:00","date_gmt":"2009-10-08T19:22:00","guid":{"rendered":"http:\/\/konstantin.filtschew.de\/blog\/?p=403"},"modified":"2012-08-10T15:12:46","modified_gmt":"2012-08-10T13:12:46","slug":"smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen","status":"publish","type":"post","link":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/","title":{"rendered":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen"},"content":{"rendered":"<p>Zuerst mache ich eine kleine Einf\u00fchrung in das Thema Java und Smartcads und beschreibe danach wichtige Punkte f\u00fcr Linux und Windows.<\/p>\n<p>Java hat seit Version 1.5 (5.0) eine Unterst\u00fctzung f\u00fcr Smartcards bereits eingebaut. Es nutzt daf\u00fcr die eigene Provider Technik und greift \u00fcber PC\/SC auf die Smartcard zu. Das bedeutet es sind keine weiteren Module f\u00fcr Java notwendig (fr\u00fcher <a title=\"JPCSC unter Linux einrichten\" href=\"http:\/\/konstantin.filtschew.de\/blog\/2009\/07\/23\/mit-java-uber-jpcsc-auf-den-smartcardreader-und-die-smartcard-unter-linux-zugreifen\/\">JPCSC<\/a> f\u00fcr Linux) und die Nutzung erfolgt unabh\u00e4ngig vom Betriebssystem.\u00a0Zumindest kann ich das f\u00fcr Windows XP\/Vista und Linux best\u00e4tigen. FreeBSD und Sun Solaris sollten genau so gut funktionieren. Weitere Informationen zu Betriebssystemen in den n\u00e4chsten Abs\u00e4tzen.<\/p>\n<p>Unter Windows ist die Verwendung denkbar einfach. F\u00fcr die Nutzung ist ein installierter Treiber f\u00fcr das Leseger\u00e4t (Terminal) und nat\u00fcrlich Java notwendig. Windows bringt eine eigene PC\/SC Implementierung mit, die Java \u00fcber den eingebauten Provider nutzt. Dadurch ist die Installation und Einrichtung sehr einfach.<\/p>\n<p>F\u00fcr Linux ist die Installation fast genau so einfach. Durch die verschiedenen pcsclite-Versionen (PC\/SC Implementierung unter Linux) sind aber die Header-Datei (.h) f\u00fcr die Bibliothek notwendig, damit Java die PC\/SC Bibliothek richtig ansprechen kann. Daf\u00fcr reicht meistens die Installation der folgenden Pakete:<\/p>\n<ul>\n<li>libpcsclite1<\/li>\n<li>pcscd<\/li>\n<li>libccid<\/li>\n<li>libpcsclite-dev\u00a0 (WICHTIG: Hier sind die notwendigen Header-Dateien)<\/li>\n<\/ul>\n<p>Fehlt das Paket <em>libpcsclite-dev<\/em> bzw. die Header Dateien, so kann Java die PC\/SC Bibliothek nicht nutzen und findet deswegen kein Leseger\u00e4t (Terminal).<\/p>\n<p>F\u00fcr Debian\/Ubuntu und weitere Debian-Derivate ist die Installation denkbar einfach:<\/p>\n<p>[code]<br \/>\nsudo aptitude install libpcsclite1 pcscd libccid libpcsclite-dev<br \/>\n[\/code]<\/p>\n<p>Die Nutzung der <a title=\"JPCSC unter Linux einrichten\" href=\"http:\/\/konstantin.filtschew.de\/blog\/2009\/07\/23\/mit-java-uber-jpcsc-auf-den-smartcardreader-und-die-smartcard-unter-linux-zugreifen\/\">JPCSC<\/a> Middleware, welcher veraltet ist, habe ich bereits fr\u00fcher <a title=\"JPCSC unter Linux einrichten\" href=\"http:\/\/konstantin.filtschew.de\/blog\/2009\/07\/23\/mit-java-uber-jpcsc-auf-den-smartcardreader-und-die-smartcard-unter-linux-zugreifen\/\">hier<\/a> beschreiben.<\/p>\n<p>Um die Verwendung der Java Smartcard I\/O zu testen, habe ich ein paar kleine Testprogramme geschrieben, die ich hier ver\u00f6ffentliche. Sie sind auf Englisch kommentiert, so dass keine weitere Erkl\u00e4rungen erfolgen. Ich denke die paar Worte Englisch wird wohl jeder verstehen k\u00f6nnen. Sie sind extra kurz und einfach gehalten.<\/p>\n<p>[code]<br \/>\nimport java.util.List;<br \/>\nimport javax.smartcardio.*;<\/p>\n<p>\/*<br \/>\n * Look in rt.jar for &#8222;javax.smartcardio&#8220; to get further information<br \/>\n * Defined in: JSR 268<br \/>\n *\/<br \/>\npublic class ListSmartcardReaders {<\/p>\n<p>\tpublic static int listCounted() {<\/p>\n<p>\t\t\/* we use the default TerminalFactory *\/<br \/>\n\t\tTerminalFactory factory = TerminalFactory.getDefault();<\/p>\n<p>\t\ttry {<br \/>\n\t\t\t\/* We can have multiple terminals on one System, so we get a list *\/<br \/>\n\t\t\tList<cardterminal> terminals = factory.terminals().list();<\/p>\n<p>\t\t\tfor (CardTerminal terminal : terminals) {<br \/>\n\t\t\t\tSystem.out.println(&#8222;Card_Terminal_Name: &#8222;+ terminal.getName());<br \/>\n\t\t\t\tSystem.out.println(&#8222;Card_in_Terminal_present: &#8222;+terminal.isCardPresent());<br \/>\n\t\t\t\tSystem.out.println(&#8222;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8222;);<br \/>\n\t\t\t}<br \/>\n\t\t\treturn terminals.size();<\/p>\n<p>\t\t} catch (CardException e) {<br \/>\n\t\t\te.printStackTrace();<br \/>\n\t\t}<br \/>\n\t\treturn 0;<br \/>\n\t}<\/p>\n<p>\tpublic static void main(String[] args) {<br \/>\n\t\tlistCounted();<br \/>\n\t}<br \/>\n}<br \/>\n[\/code]<\/p>\n<p>[code]<br \/>\nimport java.util.List;<br \/>\nimport javax.smartcardio.*;<\/p>\n<p>\/*<br \/>\n * Look in rt.jar for &#8222;javax.smartcardio&#8220; to get further information<br \/>\n * Defined in: JSR 268<br \/>\n *\/<br \/>\npublic class ConnectReader {<\/p>\n<p>\t\/**<br \/>\n\t *<br \/>\n\t * @param index is the array index of the terminal list (0..x)<br \/>\n\t * @throws CardException if there are problems accessing the smartcard<br \/>\n\t *\/<br \/>\n\tpublic static void connectCard(int index) throws CardException {<\/p>\n<p>\t\t\/* Is a Reader connected we can access? *\/<br \/>\n\t\tif (TerminalFactory.getDefault().terminals().list().size() == 0) {<br \/>\n\t\t\tSystem.err.println(&#8222;No reader present&#8220;);<br \/>\n\t\t\treturn;<br \/>\n\t\t}<\/p>\n<p>\t\t\/* Terminal we are working on *\/<br \/>\n\t\t CardTerminal terminal = TerminalFactory.getDefault().terminals().list().get(index);<\/p>\n<p>\t\t\/* Is a card present? *\/<br \/>\n\t\tif (!terminal.isCardPresent()) {<br \/>\n\t\t\tSystem.err.println(&#8222;No Card present!&#8220;);<br \/>\n\t\t\treturn;<br \/>\n\t\t}<\/p>\n<p>\t\t\/* Here you have to choose &#8222;T=0&#8243;,&#8220;T=1&#8220;, &#8222;T=2&#8220;, check documentation of your smart card *\/<br \/>\n\t\t\/\/Mostly it&#8217;s &#8222;T=1&#8220;, for older cards its &#8222;T=0&#8220;<br \/>\n\t\tCard card = terminal.connect(&#8222;T=1&#8220;);<\/p>\n<p>\t\tSystem.out.println(&#8222;Card_Info: &#8222;+card.toString());<br \/>\n\t\tSystem.out.println(&#8222;Card Protocol: &#8222;+ card.getProtocol());<\/p>\n<p>\t\t\/\/Reset the card for use<br \/>\n\t\tATR atr = card.getATR();<\/p>\n<p>\t\tSystem.out.println(&#8222;ATR: &#8220; + atr.getBytes());<br \/>\n\t\tSystem.out.println(&#8222;ATR historical bytes: &#8222;+ atr.getHistoricalBytes());<\/p>\n<p>\t\t\/* Get the basic channel. This one can&#8217;t be closed *\/<br \/>\n\t\tCardChannel channel = card.getBasicChannel();<\/p>\n<p>\t\t\/* Try to send a command. This one won&#8217;t work! *\/<br \/>\n\t\tbyte[] command = { 0, 0, 0, 0};<\/p>\n<p>\t\tCommandAPDU someApdu = new CommandAPDU(command);<\/p>\n<p>\t\tResponseAPDU r = channel.transmit(someApdu);<br \/>\n\t\t\/* Response encoded in bytes *\/<br \/>\n\t\tbyte[] response = r.getBytes();<\/p>\n<p>\t\tSystem.out.println(&#8222;response: &#8222;+ response);<\/p>\n<p>\t\tcard.disconnect(false);<br \/>\n\t}<\/p>\n<p>\tpublic static void main(String[] args) {<br \/>\n\t\ttry {<br \/>\n\t\t\t\/\/First Terminal = 0<br \/>\n\t\t\tconnectCard(0);<br \/>\n\t\t} catch (Exception e) {<br \/>\n\t\t\te.printStackTrace();<br \/>\n\t\t}<br \/>\n\t}<br \/>\n}<br \/>\n[\/code]<\/p>\n<p>F\u00fcr weitere Information \u00fcber APDUs und die Nutzung der Smartcards empfehle ich das Lesen des Buches <a href=\"http:\/\/www.amazon.de\/Handbuch-Chipkarten-Aufbau-Funktionsweise-Einsatz\/dp\/3446404023\/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1255028776&#038;sr=8-1\">Handbuch der Chipkarten<\/a> oder direkt die dazugeh\u00f6rigen ISO-Normen ISO-7816 und im Speziellen die ISO-Normen ISO7816-4, ISO7816-8 und ISO7816-9.<\/p>\n<p>Auf die Frage &#8222;Kommt man ohne das Buch bzw. die Normen aus?&#8220;, muss ich leider mit &#8222;definitiv nein!&#8220; beantworten, da die Informationen sehr komplex sind und schwer zu verstehen. Im Internet ist bis Heute fast gar nichts vorhanden.<br \/>\nIch rate aber nach Diplom-, Master- und Bachelorarbeiten zu dem Thema zu suchen. Da gibt es bestimmt Ausz\u00fcge aus den Normen, um wenigstens die Zusammeh\u00e4nge und die Anf\u00e4nge zu verstehen.<\/cardterminal><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zuerst mache ich eine kleine Einf\u00fchrung in das Thema Java und Smartcads und beschreibe danach wichtige Punkte f\u00fcr Linux und Windows. Java hat seit Version 1.5 (5.0) eine Unterst\u00fctzung f\u00fcr Smartcards bereits eingebaut. Es nutzt daf\u00fcr die eigene Provider Technik und greift \u00fcber PC\/SC auf die Smartcard zu. Das bedeutet es sind keine weiteren Module [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,3,10],"tags":[],"class_list":["post-403","post","type-post","status-publish","format-standard","hentry","category-java","category-linux","category-microsoft-world"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew\" \/>\n<meta property=\"og:description\" content=\"Zuerst mache ich eine kleine Einf\u00fchrung in das Thema Java und Smartcads und beschreibe danach wichtige Punkte f\u00fcr Linux und Windows. Java hat seit Version 1.5 (5.0) eine Unterst\u00fctzung f\u00fcr Smartcards bereits eingebaut. Es nutzt daf\u00fcr die eigene Provider Technik und greift \u00fcber PC\/SC auf die Smartcard zu. Das bedeutet es sind keine weiteren Module [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\" \/>\n<meta property=\"og:site_name\" content=\"Konstantin Filtschew\" \/>\n<meta property=\"article:published_time\" content=\"2009-10-08T19:22:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-08-10T13:12:46+00:00\" \/>\n<meta name=\"author\" content=\"Konstantin Filtschew\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fa11enangel\" \/>\n<meta name=\"twitter:site\" content=\"@fa11enangel\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Konstantin Filtschew\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\"},\"author\":{\"name\":\"Konstantin Filtschew\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e\"},\"headline\":\"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen\",\"datePublished\":\"2009-10-08T19:22:00+00:00\",\"dateModified\":\"2012-08-10T13:12:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\"},\"wordCount\":784,\"commentCount\":38,\"publisher\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e\"},\"articleSection\":[\"Java\",\"Linux\",\"Microsoft World\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\",\"url\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\",\"name\":\"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew\",\"isPartOf\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#website\"},\"datePublished\":\"2009-10-08T19:22:00+00:00\",\"dateModified\":\"2012-08-10T13:12:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/konstantin.filtschew.de\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#website\",\"url\":\"https:\/\/konstantin.filtschew.de\/blog\/\",\"name\":\"Konstantin Filtschew\",\"description\":\"Der t\u00e4gliche IT-Wahnsinn\",\"publisher\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/konstantin.filtschew.de\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e\",\"name\":\"Konstantin Filtschew\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/konstantin.filtschew.de\/blog\/wp-content\/uploads\/2025\/10\/KFLogo1.png\",\"contentUrl\":\"https:\/\/konstantin.filtschew.de\/blog\/wp-content\/uploads\/2025\/10\/KFLogo1.png\",\"width\":222,\"height\":193,\"caption\":\"Konstantin Filtschew\"},\"logo\":{\"@id\":\"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Building an operation system without source code, is like buying a self assemble space shuttle without instructions. (Author unknown)\",\"sameAs\":[\"https:\/\/konstantin.filtschew.de\",\"https:\/\/www.linkedin.com\/in\/konstantin-filtschew-b7138019\/\",\"https:\/\/x.com\/fa11enangel\"],\"url\":\"https:\/\/konstantin.filtschew.de\/blog\/author\/konstantin-filtschew\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/","og_locale":"de_DE","og_type":"article","og_title":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew","og_description":"Zuerst mache ich eine kleine Einf\u00fchrung in das Thema Java und Smartcads und beschreibe danach wichtige Punkte f\u00fcr Linux und Windows. Java hat seit Version 1.5 (5.0) eine Unterst\u00fctzung f\u00fcr Smartcards bereits eingebaut. Es nutzt daf\u00fcr die eigene Provider Technik und greift \u00fcber PC\/SC auf die Smartcard zu. Das bedeutet es sind keine weiteren Module [&hellip;]","og_url":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/","og_site_name":"Konstantin Filtschew","article_published_time":"2009-10-08T19:22:00+00:00","article_modified_time":"2012-08-10T13:12:46+00:00","author":"Konstantin Filtschew","twitter_card":"summary_large_image","twitter_creator":"@fa11enangel","twitter_site":"@fa11enangel","twitter_misc":{"Verfasst von":"Konstantin Filtschew","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#article","isPartOf":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/"},"author":{"name":"Konstantin Filtschew","@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e"},"headline":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen","datePublished":"2009-10-08T19:22:00+00:00","dateModified":"2012-08-10T13:12:46+00:00","mainEntityOfPage":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/"},"wordCount":784,"commentCount":38,"publisher":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e"},"articleSection":["Java","Linux","Microsoft World"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/","url":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/","name":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen - Konstantin Filtschew","isPartOf":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/#website"},"datePublished":"2009-10-08T19:22:00+00:00","dateModified":"2012-08-10T13:12:46+00:00","breadcrumb":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/konstantin.filtschew.de\/blog\/2009\/10\/08\/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/konstantin.filtschew.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Smart Cards durch die in Java eingebaute Java Smartcard I\/O javax.smartcardio.* ansprechen"}]},{"@type":"WebSite","@id":"https:\/\/konstantin.filtschew.de\/blog\/#website","url":"https:\/\/konstantin.filtschew.de\/blog\/","name":"Konstantin Filtschew","description":"Der t\u00e4gliche IT-Wahnsinn","publisher":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/konstantin.filtschew.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/de09aadf27dd3b71cb0030f6f2214b1e","name":"Konstantin Filtschew","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/image\/","url":"https:\/\/konstantin.filtschew.de\/blog\/wp-content\/uploads\/2025\/10\/KFLogo1.png","contentUrl":"https:\/\/konstantin.filtschew.de\/blog\/wp-content\/uploads\/2025\/10\/KFLogo1.png","width":222,"height":193,"caption":"Konstantin Filtschew"},"logo":{"@id":"https:\/\/konstantin.filtschew.de\/blog\/#\/schema\/person\/image\/"},"description":"Building an operation system without source code, is like buying a self assemble space shuttle without instructions. (Author unknown)","sameAs":["https:\/\/konstantin.filtschew.de","https:\/\/www.linkedin.com\/in\/konstantin-filtschew-b7138019\/","https:\/\/x.com\/fa11enangel"],"url":"https:\/\/konstantin.filtschew.de\/blog\/author\/konstantin-filtschew\/"}]}},"_links":{"self":[{"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/posts\/403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/comments?post=403"}],"version-history":[{"count":12,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/posts\/403\/revisions"}],"predecessor-version":[{"id":410,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/posts\/403\/revisions\/410"}],"wp:attachment":[{"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/media?parent=403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/categories?post=403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/konstantin.filtschew.de\/blog\/wp-json\/wp\/v2\/tags?post=403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}