Yubico / ykneo-openpgp

OpenPGP applet for the YubiKey NEO
https://developers.yubico.com/ykneo-openpgp/
GNU General Public License v2.0
215 stars 67 forks source link

Consider moving to JCKit 3.x instead #13

Closed jas4711 closed 10 years ago

jas4711 commented 10 years ago

Despite the "windows" in the JCKit 3.x download filename, it works fine under GNU/Linux as well. You have to run the graphical installer, though, but it is probably possible to just extract the relevant files unattended if we need to -- it is using izPack which is free software.

See commit to test this out:

https://github.com/Yubico/ykneo-openpgp/commit/c6d79d9e4d9b7537425eac0e7c8ee7322085935b

jas4711 commented 10 years ago

JCKit 3.0.4 adds the class files to the CAP file, not sure if that is worth consideration (it makes the CAP file larger). However, note that the Method.cap has the same CRC-32 so likely we won't notice any difference between jckit 2.x -> 3.x when it is actually running on the token. In fact all *.cap components have the same crc except Import.cap.

JCKit 2.2.1:

Archive: applet/bin/openpgpcard/javacard/openpgpcard.cap Length Method Size Cmpr Date Time CRC-32 Name


1037  Defl:N      331  68% 2013-11-08 22:14 9fbca11f  META-INF/MANIFEST.MF
  19  Stored       19   0% 2013-11-08 22:14 8b13e526  openpgpcard/javacard/Header.cap
  34  Stored       34   0% 2013-11-08 22:14 083134ac  openpgpcard/javacard/Directory.cap
  23  Stored       23   0% 2013-11-08 22:14 fafb81bc  openpgpcard/javacard/Applet.cap
  44  Stored       44   0% 2013-11-08 22:14 153cb2ba  openpgpcard/javacard/Import.cap
 705  Stored      705   0% 2013-11-08 22:14 b257b6cb  openpgpcard/javacard/ConstantPool.cap
  93  Stored       93   0% 2013-11-08 22:14 4ce18fab  openpgpcard/javacard/Class.cap
6479  Stored     6479   0% 2013-11-08 22:14 aa986826  openpgpcard/javacard/Method.cap
 121  Stored      121   0% 2013-11-08 22:14 8bf4b25a  openpgpcard/javacard/StaticField.cap
1018  Stored     1018   0% 2013-11-08 22:14 33630112  openpgpcard/javacard/RefLocation.cap
1736  Stored     1736   0% 2013-11-08 22:14 4d8a8cc0  openpgpcard/javacard/Descriptor.cap

11309 10603 6% 11 files

JCKit 3.0.4:

Archive: applet/bin/openpgpcard/javacard/openpgpcard.cap Length Method Size Cmpr Date Time CRC-32 Name


1163  Defl:N      417  64% 2013-11-08 22:14 edcc971c  META-INF/MANIFEST.MF
  19  Stored       19   0% 2013-11-08 22:14 8b13e526  openpgpcard/javacard/Header.cap
  34  Stored       34   0% 2013-11-08 22:14 083134ac  openpgpcard/javacard/Directory.cap
  23  Stored       23   0% 2013-11-08 22:14 fafb81bc  openpgpcard/javacard/Applet.cap
  44  Stored       44   0% 2013-11-08 22:14 4d24044f  openpgpcard/javacard/Import.cap
 705  Stored      705   0% 2013-11-08 22:14 b257b6cb  openpgpcard/javacard/ConstantPool.cap
  93  Stored       93   0% 2013-11-08 22:14 4ce18fab  openpgpcard/javacard/Class.cap
6479  Stored     6479   0% 2013-11-08 22:14 aa986826  openpgpcard/javacard/Method.cap
 121  Stored      121   0% 2013-11-08 22:14 8bf4b25a  openpgpcard/javacard/StaticField.cap
1018  Stored     1018   0% 2013-11-08 22:14 33630112  openpgpcard/javacard/RefLocation.cap
1736  Stored     1736   0% 2013-11-08 22:14 4d8a8cc0  openpgpcard/javacard/Descriptor.cap
 552  Stored      552   0% 2013-11-08 22:14 b4a2a436  APPLET-INF/applet.xml

12637 Stored 12637 0% 2013-11-08 22:14 b8f3cf3a APPLET-INF/classes/openpgpcard/OpenPGPApplet.class 3673 Stored 3673 0% 2013-11-08 22:14 d0db8381 APPLET-INF/classes/openpgpcard/OpenPGPSecureMessaging.class 2211 Stored 2211 0% 2013-11-08 22:14 a2dfe9e5 APPLET-INF/classes/openpgpcard/PGPKey.class


30508 29762 2% 15 files

jas4711 commented 10 years ago

JCKit 3.0.4 doesn't work with out chip, however, JCKit 3.0.3 should work. But there is no advantage (AFAIK) that we get from switching.