<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Kommentare zu: Smart Cards durch die in Java eingebaute Java Smartcard I/O javax.smartcardio.* ansprechen</title>
	<atom:link href="http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/feed/" rel="self" type="application/rss+xml" />
	<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/</link>
	<description>Der tägliche IT-Wahnsinn</description>
	<lastBuildDate>Tue, 03 Jan 2012 08:37:02 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Von: Konstantin Filtschew</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-39113</link>
		<dc:creator>Konstantin Filtschew</dc:creator>
		<pubDate>Thu, 20 Oct 2011 13:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-39113</guid>
		<description>Hallo Andy,

schau mal nach MD5 (sollte man nicht mehr verwenden), SHA1, SHA256. 

&lt;a href=&quot;http://www.java2s.com/Code/Java/Security/BasicIOexampleusingSHA1.htm&quot; rel=&quot;nofollow&quot;&gt;java2s Sha1 Example&lt;/a&gt;

Gruß, Konstantin</description>
		<content:encoded><![CDATA[<p>Hallo Andy,</p>
<p>schau mal nach MD5 (sollte man nicht mehr verwenden), SHA1, SHA256. </p>
<p><a href="http://www.java2s.com/Code/Java/Security/BasicIOexampleusingSHA1.htm" rel="nofollow">java2s Sha1 Example</a></p>
<p>Gruß, Konstantin</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Andy</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-39112</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Thu, 20 Oct 2011 09:59:47 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-39112</guid>
		<description>Hi Konstantin,

danke für deine Antwort!

&gt;2. Dateiinhalt hashen
Was meinst du damit? Beispiel?

Danke

Andy</description>
		<content:encoded><![CDATA[<p>Hi Konstantin,</p>
<p>danke für deine Antwort!</p>
<p>&gt;2. Dateiinhalt hashen<br />
Was meinst du damit? Beispiel?</p>
<p>Danke</p>
<p>Andy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Konstantin Filtschew</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-39111</link>
		<dc:creator>Konstantin Filtschew</dc:creator>
		<pubDate>Mon, 12 Sep 2011 11:52:29 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-39111</guid>
		<description>Hallo Andy,

das hängt maßgeblich von der Smartcard ab. Das Vorgehen sollte aber ungefähr so sein:
1. Datei einlesen
2. Dateiinhalt hashen
3. Hashwert an die Smartcard zum signieren schicken
4. Smartcard liefert eine Signatur zurück

Die APDU zum Signieren findet man in der Dokumentation der Smartcard.</description>
		<content:encoded><![CDATA[<p>Hallo Andy,</p>
<p>das hängt maßgeblich von der Smartcard ab. Das Vorgehen sollte aber ungefähr so sein:<br />
1. Datei einlesen<br />
2. Dateiinhalt hashen<br />
3. Hashwert an die Smartcard zum signieren schicken<br />
4. Smartcard liefert eine Signatur zurück</p>
<p>Die APDU zum Signieren findet man in der Dokumentation der Smartcard.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: AndyM</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-39110</link>
		<dc:creator>AndyM</dc:creator>
		<pubDate>Thu, 08 Sep 2011 20:54:44 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-39110</guid>
		<description>Hi,

kann ich mit Hilfe von javax.smartcardio.* PDF files signieren?? Haben Sie ein Beispiel? 

Gruß

Andy</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>kann ich mit Hilfe von javax.smartcardio.* PDF files signieren?? Haben Sie ein Beispiel? </p>
<p>Gruß</p>
<p>Andy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: MadMax</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-39104</link>
		<dc:creator>MadMax</dc:creator>
		<pubDate>Fri, 19 Aug 2011 11:23:33 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-39104</guid>
		<description>Ich empfehle, nochmals den Standard 7816-3 genauer zu lesen. Natürlich kann man bei T=0 mit LE arbeiten. Die sogenannten Case-2 und Case-4 Kommandos antworten dann allerdings mit 61 bb, was bedeutet, dass Antwortdaten anstehen, die anschließend mit dem Kommando Get Response abgeholt werden müssen. Kommt allerdings ein 91 bb zurück, so bedeutet dies, dass ein sogenanntes proaktives Kommando ansteht, das man mit einem Fetch-Kommando abholt. 

Gruß MadMax</description>
		<content:encoded><![CDATA[<p>Ich empfehle, nochmals den Standard 7816-3 genauer zu lesen. Natürlich kann man bei T=0 mit LE arbeiten. Die sogenannten Case-2 und Case-4 Kommandos antworten dann allerdings mit 61 bb, was bedeutet, dass Antwortdaten anstehen, die anschließend mit dem Kommando Get Response abgeholt werden müssen. Kommt allerdings ein 91 bb zurück, so bedeutet dies, dass ein sogenanntes proaktives Kommando ansteht, das man mit einem Fetch-Kommando abholt. </p>
<p>Gruß MadMax</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Oleg</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-38886</link>
		<dc:creator>Oleg</dc:creator>
		<pubDate>Wed, 09 Jun 2010 11:26:45 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-38886</guid>
		<description>Hi,

T=0 Protokoll unterstützt LE Byte nicht, das wird erklären wieso LE Byte nicht mitgeschickt wurde. Es muss auf jedenfall bei neuen Karten, wenn LE mitgeschickt werden muss, auf T=1 gehen. 

Das mit dem 0x5A to 0x18 vermute ich, dass es an dem &quot;speziellen&quot; Befehl liegt. Wenn ich es in den Wrapper Befehl packe (ist von der Karte vorgeschrieben), funktioniert alles wunderbar, auch wenn den Befehl direkt über &quot;PCSC Test Applikation&quot; sende. 

Auf jedenfall hat Konstantin recht: Es ist kein Bug und es wird nix verändert. Die Definitionen sollen einhalten werden :), dann klappt vielleicht alles.

Gruß, Oleg</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>T=0 Protokoll unterstützt LE Byte nicht, das wird erklären wieso LE Byte nicht mitgeschickt wurde. Es muss auf jedenfall bei neuen Karten, wenn LE mitgeschickt werden muss, auf T=1 gehen. </p>
<p>Das mit dem 0x5A to 0&#215;18 vermute ich, dass es an dem &#8220;speziellen&#8221; Befehl liegt. Wenn ich es in den Wrapper Befehl packe (ist von der Karte vorgeschrieben), funktioniert alles wunderbar, auch wenn den Befehl direkt über &#8220;PCSC Test Applikation&#8221; sende. </p>
<p>Auf jedenfall hat Konstantin recht: Es ist kein Bug und es wird nix verändert. Die Definitionen sollen einhalten werden <img src='http://konstantin.filtschew.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , dann klappt vielleicht alles.</p>
<p>Gruß, Oleg</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Konstantin Filtschew</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-38885</link>
		<dc:creator>Konstantin Filtschew</dc:creator>
		<pubDate>Tue, 08 Jun 2010 14:56:41 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-38885</guid>
		<description>Hallo Oleg,

normalerweise wird nichts abgeschnitten oder verändert. Wie kommst du drauf, dass es verändert wird? Hast du einen Sniffer an der USB/Com Schnittstelle laufen?

Du hast bei deinem Befehl das Class Byte auf 90 gesetzt. Das bedeutet, du verwendest propriätere Befehle, die nicht in der ISO 7816-4 spezifiziert sind. Da kann ich dir schwer helfen, da ich nicht weiß, was die Befehle bedeuten oder was du vor hast.

Einen Bug in dem Bereich kann ich mir schwer vorstellen. Verwendest du Java Smartcard I/O oder? Es kann noch sein, dass dein Treiber vom Lesegerät ein Problem hat. Das kann ich aber ohne Informationen nicht einschätzen.

Melde dich, wenn du noch Fragen hast.

Gruß, Konstantin</description>
		<content:encoded><![CDATA[<p>Hallo Oleg,</p>
<p>normalerweise wird nichts abgeschnitten oder verändert. Wie kommst du drauf, dass es verändert wird? Hast du einen Sniffer an der USB/Com Schnittstelle laufen?</p>
<p>Du hast bei deinem Befehl das Class Byte auf 90 gesetzt. Das bedeutet, du verwendest propriätere Befehle, die nicht in der ISO 7816-4 spezifiziert sind. Da kann ich dir schwer helfen, da ich nicht weiß, was die Befehle bedeuten oder was du vor hast.</p>
<p>Einen Bug in dem Bereich kann ich mir schwer vorstellen. Verwendest du Java Smartcard I/O oder? Es kann noch sein, dass dein Treiber vom Lesegerät ein Problem hat. Das kann ich aber ohne Informationen nicht einschätzen.</p>
<p>Melde dich, wenn du noch Fragen hast.</p>
<p>Gruß, Konstantin</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Oleg</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-38884</link>
		<dc:creator>Oleg</dc:creator>
		<pubDate>Tue, 08 Jun 2010 14:01:40 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-38884</guid>
		<description>Hi Konstantin,
ich arbeite gerade an der Kommunikation mit einer Karte über PC/SC und habe ein Problem: lt. Spezifikation der Karte muss APDU nach ISO 7816-4 aufgebaut sein, mit dem Vermerk, dass LE Byte immer vorhanden sein muss, auch wenn es 0x00 ist. Wenn ich APDU aufbaue z.B.: 90 5A 00 00 03 01 00 00 /*LE*/ 00 und diese über CardChannel – Funktion transmit sende, dann wird dieser LE-Byte abgeschnitten und ich bekomme zurück 91 + „invalid telegram“.

Ähnliches Verhalten habe ich auch bei jpcsc festgetstellt. LE Byte wird immer abgeschnitten.

Zusätzlich, wenn ich die Daten mit der Funktion transmit(ByteBuffer arg0, ByteBuffer arg1) sende, also 5A 01 00 00, dann wird die Telegramm geändert und stattdessen 18 01 00 00 geschickt. Als ob es ein Überlauf bei 0x40 statt findet. Ist es ein Bug oder habe ich was nicht beachtet?

Ich werde froh sein, wenn du mir paar Tipps geben kannst. Danke.

Gruß, Oleg</description>
		<content:encoded><![CDATA[<p>Hi Konstantin,<br />
ich arbeite gerade an der Kommunikation mit einer Karte über PC/SC und habe ein Problem: lt. Spezifikation der Karte muss APDU nach ISO 7816-4 aufgebaut sein, mit dem Vermerk, dass LE Byte immer vorhanden sein muss, auch wenn es 0&#215;00 ist. Wenn ich APDU aufbaue z.B.: 90 5A 00 00 03 01 00 00 /*LE*/ 00 und diese über CardChannel – Funktion transmit sende, dann wird dieser LE-Byte abgeschnitten und ich bekomme zurück 91 + „invalid telegram“.</p>
<p>Ähnliches Verhalten habe ich auch bei jpcsc festgetstellt. LE Byte wird immer abgeschnitten.</p>
<p>Zusätzlich, wenn ich die Daten mit der Funktion transmit(ByteBuffer arg0, ByteBuffer arg1) sende, also 5A 01 00 00, dann wird die Telegramm geändert und stattdessen 18 01 00 00 geschickt. Als ob es ein Überlauf bei 0&#215;40 statt findet. Ist es ein Bug oder habe ich was nicht beachtet?</p>
<p>Ich werde froh sein, wenn du mir paar Tipps geben kannst. Danke.</p>
<p>Gruß, Oleg</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Chris</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-38816</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Wed, 06 Jan 2010 10:53:23 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-38816</guid>
		<description>Hallo,

ListSmartcardReaders funktioniert bei mir, 
Card_Terminal_Name: OMNIKEY CardMan 5x21 0
Card_in_Terminal_present: true

Auch die andere Anwendung geht:
Card_Info: PC/SC card in OMNIKEY CardMan 5x21 0, protocol T=0, state OK
Card Protocol: T=0
ATR: [B@5afd29
ATR historical bytes: [B@1a2961b
response: [B@15dfd77

Musste nur das Protokoll für die  Karte ändern auf T=0.
Wollte mich hiermit nur mal bedanken, da ich es für mein Studium brauche !

Kartenleser von OMNIKEY 
Karte : von wrankl.de (lag dem buch als Testeksemplar bei)
mfg
Chris</description>
		<content:encoded><![CDATA[<p>Hallo,</p>
<p>ListSmartcardReaders funktioniert bei mir,<br />
Card_Terminal_Name: OMNIKEY CardMan 5&#215;21 0<br />
Card_in_Terminal_present: true</p>
<p>Auch die andere Anwendung geht:<br />
Card_Info: PC/SC card in OMNIKEY CardMan 5&#215;21 0, protocol T=0, state OK<br />
Card Protocol: T=0<br />
ATR: [B@5afd29<br />
ATR historical bytes: [B@1a2961b<br />
response: [B@15dfd77</p>
<p>Musste nur das Protokoll für die  Karte ändern auf T=0.<br />
Wollte mich hiermit nur mal bedanken, da ich es für mein Studium brauche !</p>
<p>Kartenleser von OMNIKEY<br />
Karte : von wrankl.de (lag dem buch als Testeksemplar bei)<br />
mfg<br />
Chris</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Peter Huebner</title>
		<link>http://konstantin.filtschew.de/blog/2009/10/08/smart-cards-durch-die-in-java-eingebaute-java-smartcard-io-javax-smartcardio-ansprechen/comment-page-1/#comment-38815</link>
		<dc:creator>Peter Huebner</dc:creator>
		<pubDate>Mon, 04 Jan 2010 20:59:22 +0000</pubDate>
		<guid isPermaLink="false">http://konstantin.filtschew.de/blog/?p=403#comment-38815</guid>
		<description>KVK-Karten? Das sind Memory-Karten, die vom PCSC-Standard nicht unterstützt werden. PCSC kann meines Wissens nur was mit Prozessorkarten anfangen. es gibt in der PCSC-Implementierung unter Windows zwar auch einen (sehr dünnen) Layer, um Memory_Karten mittels (Peudo-APDUs) anzusprechen, meines Wissens nach funzt das aber selten bis gar nicht.
Unter PCSC gibt es kein ReadMemory oder WriteMemory, PCSC funktioniert mit APDUs (T=0 oder T=1), aber Speicherkarten (wie die KVK) können APDUs nicht interpretieren (haben ja keinen Prozessor).
Gruss Peter</description>
		<content:encoded><![CDATA[<p>KVK-Karten? Das sind Memory-Karten, die vom PCSC-Standard nicht unterstützt werden. PCSC kann meines Wissens nur was mit Prozessorkarten anfangen. es gibt in der PCSC-Implementierung unter Windows zwar auch einen (sehr dünnen) Layer, um Memory_Karten mittels (Peudo-APDUs) anzusprechen, meines Wissens nach funzt das aber selten bis gar nicht.<br />
Unter PCSC gibt es kein ReadMemory oder WriteMemory, PCSC funktioniert mit APDUs (T=0 oder T=1), aber Speicherkarten (wie die KVK) können APDUs nicht interpretieren (haben ja keinen Prozessor).<br />
Gruss Peter</p>
]]></content:encoded>
	</item>
</channel>
</rss>

