Package: opensc
Version: 0.11.13-1
Severity: normal
Tags: patch upstream

As it looks like Squeeze is ending up with v0.11.13 I'd like to propose
backporting various fixes for Feitian EnterSafe cards - as without these
fixes these cards will be unusable for many common applications with
Squeeze...

References below:

http://www.opensc-project.org/opensc/ticket/197

http://www.opensc-project.org/opensc/changeset/3906

http://www.gooze.eu/forums/support/problem-converting-openssh-rsa-key-to-pem-format#comment-106

... the last of these isn't upstream yet, but omitting this patch
wouldn't impact many users.  The first two will affect most users,
however.

Cheers,

Tim.


diff -Naur 
opensc-0.11.13/debian/patches/entersafe-encode-bignum-backport-changeset3906 
opensc-0.11.13.new/debian/patches/entersafe-encode-bignum-backport-changeset3906
--- 
opensc-0.11.13/debian/patches/entersafe-encode-bignum-backport-changeset3906    
    1970-01-01 01:00:00.000000000 +0100
+++ 
opensc-0.11.13.new/debian/patches/entersafe-encode-bignum-backport-changeset3906
    2010-11-08 12:29:27.725017108 +0000
@@ -0,0 +1,27 @@
+--- opensc-0.11.13.orig/src/libopensc/card-entersafe.c.orig    2010-11-08 
12:26:14.680903369 +0000
++++ opensc-0.11.13/src/libopensc/card-entersafe.c      2010-11-08 
12:28:00.776175074 +0000
+@@ -1044,14 +1044,13 @@
+        u8 *p=*ptr;
+ 
+        *p++=tag;
+-       assert(0);
+-       if(bignum.len<256)
++       if(bignum.len<128)
+        {
+                 *p++=(u8)bignum.len;
+        }
+        else
+        {
+-                u8 bytes=0;
++                u8 bytes=1;
+                 size_t len=bignum.len;
+                 while(len)
+                 {
+@@ -1069,6 +1068,7 @@
+        memcpy(p,bignum.data,bignum.len);
+        entersafe_reverse_buffer(p,bignum.len);
+        p+=bignum.len;
++       *ptr = p;
+ }
+ 
+ static int entersafe_write_small_rsa_key(sc_card_t *card,u8 key_id,struct 
sc_pkcs15_prkey_rsa *rsa)
diff -Naur opensc-0.11.13/debian/patches/entersafe-import-rsa-key-ticket197 
opensc-0.11.13.new/debian/patches/entersafe-import-rsa-key-ticket197
--- opensc-0.11.13/debian/patches/entersafe-import-rsa-key-ticket197    
1970-01-01 01:00:00.000000000 +0100
+++ opensc-0.11.13.new/debian/patches/entersafe-import-rsa-key-ticket197        
2010-11-08 11:44:38.872096810 +0000
@@ -0,0 +1,11 @@
+--- opensc-0.11.13.orig/src/libopensc/card-entersafe.c (révision 4041)
++++ opensc-0.11.13/src/libopensc/card-entersafe.c      (copie de travail)
+@@ -1252,7 +1252,7 @@
+        switch(data->usage)
+        {
+        case 0x22:
+-                if(rsa->modulus.len<=1024)
++                if(rsa->modulus.len<256)
+                          return 
entersafe_write_small_rsa_key(card,data->key_id,rsa);
+                 else
+                          return 
entersafe_write_large_rsa_key(card,data->key_id,rsa);
diff -Naur 
opensc-0.11.13/debian/patches/entersafe-support-old-sshkeygen-exponent 
opensc-0.11.13.new/debian/patches/entersafe-support-old-sshkeygen-exponent
--- opensc-0.11.13/debian/patches/entersafe-support-old-sshkeygen-exponent      
1970-01-01 01:00:00.000000000 +0100
+++ opensc-0.11.13.new/debian/patches/entersafe-support-old-sshkeygen-exponent  
2010-11-11 12:16:02.972017891 +0000
@@ -0,0 +1,13 @@
+--- opensc-0.11.13/src/libopensc/card-entersafe.c.orig 2010-11-11 
12:14:06.720016943 +0000
++++ opensc-0.11.13/src/libopensc/card-entersafe.c      2010-11-11 
12:15:04.880017145 +0000
+@@ -127,6 +127,10 @@
+       _sc_card_add_rsa_alg(card, 768, flags, 0x10001);
+       _sc_card_add_rsa_alg(card,1024, flags, 0x10001);
+       _sc_card_add_rsa_alg(card,2048, flags, 0x10001);
++      _sc_card_add_rsa_alg(card, 512, flags, 0x23);
++      _sc_card_add_rsa_alg(card, 768, flags, 0x23);
++      _sc_card_add_rsa_alg(card,1024, flags, 0x23);
++      _sc_card_add_rsa_alg(card,2048, flags, 0x23);
+ 
+       /*card->caps = SC_CARD_CAP_RNG|SC_CARD_CAP_APDU_EXT; */
+       card->caps = SC_CARD_CAP_RNG; 
diff -Naur opensc-0.11.13/debian/patches/series 
opensc-0.11.13.new/debian/patches/series
--- opensc-0.11.13/debian/patches/series        2010-11-11 15:34:22.956017190 
+0000
+++ opensc-0.11.13.new/debian/patches/series    2010-11-11 15:33:35.020451684 
+0000
@@ -1 +1,4 @@
 debian-changes
+entersafe-import-rsa-key-ticket197
+entersafe-encode-bignum-backport-changeset3906
+entersafe-support-old-sshkeygen-exponent



-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-openvz-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages opensc depends on:
ii  libc6                         2.11.2-7   Embedded GNU C Library: Shared lib
ii  libltdl7                      2.2.6b-2   A system independent dlopen wrappe
ii  libopensc2                    0.11.13-1  Smart card library with support fo
ii  libreadline5                  5.2-7      GNU readline and history libraries
ii  libssl0.9.8                   0.9.8o-2   SSL shared libraries

opensc recommends no packages.

opensc suggests no packages.

-- no debconf information



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to