Index: src/libopensc/pkcs15-openpgp.c
===================================================================
--- src/libopensc/pkcs15-openpgp.c	(révision 4063)
+++ src/libopensc/pkcs15-openpgp.c	(copie de travail)
@@ -147,6 +147,7 @@
 		pin_info.reference     = i + 1;
 		pin_info.flags         = flags;
 		pin_info.type          = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
+		pin_info.auth_method   = SC_AC_CHV;
 		pin_info.min_length    = 0;
 		pin_info.stored_length = buffer[1+i];
 		pin_info.max_length    = buffer[1+i];
Index: src/libopensc/pkcs15-postecert.c
===================================================================
--- src/libopensc/pkcs15-postecert.c	(révision 4063)
+++ src/libopensc/pkcs15-postecert.c	(copie de travail)
@@ -59,7 +59,7 @@
  *      to be removed */
 static int sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
                 const sc_pkcs15_id_t *id, const char *label,
-                const sc_path_t *path, int ref, int type,
+                const sc_path_t *path, int ref, int type, int auth_method,
                 unsigned int min_length,
                 unsigned int max_length,
                 int flags, int tries_left, const char pad_char, int obj_flags)
@@ -75,6 +75,7 @@
         info.max_length        = max_length;
         info.stored_length     = max_length;
         info.type              = type;
+        info.auth_method       = auth_method;
         info.reference         = ref;
         info.flags             = flags;
         info.tries_left        = tries_left;
@@ -282,6 +283,7 @@
 	sc_pkcs15emu_add_pin(p15card, &id,
 			     authPIN, &path, 0x82,
 			     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+			     SC_AC_CHV,
 			     6, 14, flags, 3, 0,
 			     SC_PKCS15_CO_FLAG_MODIFIABLE |
 			     SC_PKCS15_CO_FLAG_PRIVATE);
@@ -302,6 +304,7 @@
 	sc_pkcs15emu_add_pin(p15card, &id,
 			     nonrepPIN, &path, 0x82,
 			     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+			     SC_AC_CHV,
 			     6, 14, flags, 3, 0,
 			     SC_PKCS15_CO_FLAG_MODIFIABLE |
 			     SC_PKCS15_CO_FLAG_PRIVATE);
Index: src/libopensc/pkcs15-tcos.c
===================================================================
--- src/libopensc/pkcs15-tcos.c	(révision 4063)
+++ src/libopensc/pkcs15-tcos.c	(copie de travail)
@@ -188,6 +188,7 @@
 	pin_info.reference        = pin_reference;
 	pin_info.flags            = pin_flags;
 	pin_info.type             = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
+	pin_info.auth_method      = SC_AC_CHV;
 	pin_info.min_length       = min_length;
 	pin_info.stored_length    = 16;
 	pin_info.max_length       = 16;
Index: src/libopensc/pkcs15-piv.c
===================================================================
--- src/libopensc/pkcs15-piv.c	(révision 4063)
+++ src/libopensc/pkcs15-piv.c	(copie de travail)
@@ -60,6 +60,7 @@
 	const char *path;
 	int         ref;
 	int         type;
+	int         auth_method;
 	unsigned int maxlen;
 	unsigned int minlen;
 	unsigned int storedlen;
@@ -153,6 +154,7 @@
 	const pindata pins[] = {
 		{ "1", "PIV Card Holder pin", "", 0x80,
 		  SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+		  SC_AC_CHV,
 		  8, 4, 8, 
 		  SC_PKCS15_PIN_FLAG_NEEDS_PADDING |
 		  SC_PKCS15_PIN_FLAG_LOCAL, 
@@ -160,6 +162,7 @@
 		  SC_PKCS15_CO_FLAG_PRIVATE },
 		{ "2", "PIV PUK", "", 0x81, 
 		  SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+		  SC_AC_CHV,
 		  8, 4, 8, 
 		  SC_PKCS15_PIN_FLAG_NEEDS_PADDING |
 		  SC_PKCS15_PIN_FLAG_LOCAL | SC_PKCS15_PIN_FLAG_SO_PIN |
@@ -380,6 +383,7 @@
 		pin_info.reference     = pins[i].ref;
 		pin_info.flags         = pins[i].flags;
 		pin_info.type          = pins[i].type;
+		pin_info.auth_method   = pins[i].auth_method;
 		pin_info.min_length    = pins[i].minlen;
 		pin_info.stored_length = pins[i].storedlen;
 		pin_info.max_length    = pins[i].maxlen;
Index: src/libopensc/pkcs15-infocamere.c
===================================================================
--- src/libopensc/pkcs15-infocamere.c	(révision 4063)
+++ src/libopensc/pkcs15-infocamere.c	(copie de travail)
@@ -69,7 +69,7 @@
  *      to be removed */
 static int sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
                 const sc_pkcs15_id_t *id, const char *label,
-                const sc_path_t *path, int ref, int type,
+                const sc_path_t *path, int ref, int type, int auth_method,
                 unsigned int min_length,
                 unsigned int max_length,
                 int flags, int tries_left, const char pad_char, int obj_flags)
@@ -85,6 +85,7 @@
         info.max_length        = max_length;
         info.stored_length     = max_length;
         info.type              = type;
+        info.auth_method       = auth_method;
         info.reference         = ref;
         info.flags             = flags;
         info.tries_left        = tries_left;
@@ -341,6 +342,7 @@
 		sc_pkcs15emu_add_pin(p15card, &id,
                                 authPIN, &path, infocamere_idpin_auth_obj[ef_gdo[len_iccsn+6]-2],
                                 SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+                                SC_AC_CHV,
                                 5, 8, flags, 3, 0, 
 				SC_PKCS15_CO_FLAG_MODIFIABLE | SC_PKCS15_CO_FLAG_PRIVATE);
 
@@ -430,7 +432,7 @@
 	sc_pkcs15_format_id("2", &id);
 	sc_pkcs15emu_add_pin(p15card, &id,
 		nonrepPIN, &path, infocamere_idpin_nrepud_obj[ef_gdo[len_iccsn+6]-2],
-		SC_PKCS15_PIN_TYPE_ASCII_NUMERIC, 5, 8, flags, 3, 0,
+		SC_PKCS15_PIN_TYPE_ASCII_NUMERIC, SC_AC_CHV, 5, 8, flags, 3, 0,
 		SC_PKCS15_CO_FLAG_MODIFIABLE | SC_PKCS15_CO_FLAG_PRIVATE);
 
 
@@ -629,6 +631,7 @@
 	sc_pkcs15emu_add_pin(p15card, &id,
 			     pinLabel[0], &path, 1,
 			     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+			     SC_AC_CHV,
 			     5, 8, flags, retries[0], 0,
 			     SC_PKCS15_CO_FLAG_MODIFIABLE |
 			     SC_PKCS15_CO_FLAG_PRIVATE);
@@ -650,6 +653,7 @@
 		sc_pkcs15emu_add_pin(p15card, &id,
 				     pinLabel[1], &path, 2,
 				     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+				     SC_AC_CHV,
 				     5, 8, flags, retries[1], 0,
 				     SC_PKCS15_CO_FLAG_MODIFIABLE |
 				     SC_PKCS15_CO_FLAG_PRIVATE);
@@ -770,6 +774,7 @@
 	sc_pkcs15emu_add_pin(p15card, &id,
 			     pinLabel[0], &path, 1,
 			     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+			     SC_AC_CHV,
 			     5, 8, flags, retries[0], 0,
 			     SC_PKCS15_CO_FLAG_MODIFIABLE |
 			     SC_PKCS15_CO_FLAG_PRIVATE);
@@ -789,6 +794,7 @@
 		sc_pkcs15emu_add_pin(p15card, &id,
 				     pinLabel[1], &path, 2,
 				     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+				     SC_AC_CHV,
 				     5, 8, flags, retries[1], 0,
 				     SC_PKCS15_CO_FLAG_MODIFIABLE |
 				     SC_PKCS15_CO_FLAG_PRIVATE);
Index: src/libopensc/pkcs15-actalis.c
===================================================================
--- src/libopensc/pkcs15-actalis.c	(révision 4063)
+++ src/libopensc/pkcs15-actalis.c	(copie de travail)
@@ -74,7 +74,7 @@
  *      to be removed */
 static int sc_pkcs15emu_add_pin(sc_pkcs15_card_t *p15card,
                 const sc_pkcs15_id_t *id, const char *label,
-                const sc_path_t *path, int ref, int type,
+                const sc_path_t *path, int ref, int type, int auth_method,
                 unsigned int min_length,
                 unsigned int max_length,
                 int flags, int tries_left, const char pad_char, int obj_flags)
@@ -90,6 +90,7 @@
         info.max_length        = max_length;
         info.stored_length     = max_length;
         info.type              = type;
+        info.auth_method       = auth_method;
         info.reference         = ref;
         info.flags             = flags;
         info.tries_left        = tries_left;
@@ -263,6 +264,7 @@
 	sc_pkcs15emu_add_pin(p15card, &id,
 			     authPIN, &path, 0x81,
 			     SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+			     SC_AC_CHV,
 			     5, 8, flags, 3, 0,
 			     SC_PKCS15_CO_FLAG_MODIFIABLE |
 			     SC_PKCS15_CO_FLAG_PRIVATE);
Index: src/libopensc/pkcs15-starcert.c
===================================================================
--- src/libopensc/pkcs15-starcert.c	(révision 4063)
+++ src/libopensc/pkcs15-starcert.c	(copie de travail)
@@ -44,6 +44,7 @@
 	const char *path;
 	int         ref;
 	int         type;
+	int         auth_method;
 	unsigned int maxlen;
 	unsigned int minlen;
 	unsigned int storedlen;
@@ -134,6 +135,7 @@
 	const pindata pins[] = {
 		{ "99", "DS pin", "3F00DF01", 0x99,
 		  SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+		  SC_AC_CHV,
 		  8, 8, 8, SC_PKCS15_PIN_FLAG_NEEDS_PADDING |
 		  SC_PKCS15_PIN_FLAG_LOCAL, -1, 0x00,
 		  SC_PKCS15_CO_FLAG_MODIFIABLE | SC_PKCS15_CO_FLAG_PRIVATE },
@@ -212,6 +214,7 @@
 		pin_info.reference     = pins[i].ref;
 		pin_info.flags         = pins[i].flags;
 		pin_info.type          = pins[i].type;
+		pin_info.auth_method   = pins[i].auth_method;
 		pin_info.min_length    = pins[i].minlen;
 		pin_info.stored_length = pins[i].storedlen;
 		pin_info.max_length    = pins[i].maxlen;
Index: src/libopensc/p15emu-westcos.c
===================================================================
--- src/libopensc/p15emu-westcos.c	(révision 4063)
+++ src/libopensc/p15emu-westcos.c	(copie de travail)
@@ -86,6 +86,7 @@
 			pin_info.reference = i;
 			pin_info.flags = flags;
 			pin_info.type = SC_PKCS15_PIN_TYPE_BCD;
+			pin_info.auth_method = SC_AC_CHV;
 			pin_info.min_length = 4;
 			pin_info.stored_length = 8;
 			pin_info.max_length = 8;
Index: src/libopensc/pkcs15-tccardos.c
===================================================================
--- src/libopensc/pkcs15-tccardos.c	(révision 4063)
+++ src/libopensc/pkcs15-tccardos.c	(copie de travail)
@@ -177,6 +177,7 @@
 	if ((key_descr & TC_CARDOS_PIN_MASK) == TC_CARDOS_LOCALPIN)
 		ainfo.flags |= SC_PKCS15_PIN_FLAG_LOCAL;
 	ainfo.type  = SC_PKCS15_PIN_TYPE_BCD; /* XXX */
+	ainfo.auth_method = SC_AC_CHV;
 	ainfo.min_length = 6;    /* XXX */
 	ainfo.stored_length = 8; /* XXX */
 	ainfo.max_length = 8;
Index: src/libopensc/pkcs15-pteid.c
===================================================================
--- src/libopensc/pkcs15-pteid.c	(révision 4063)
+++ src/libopensc/pkcs15-pteid.c	(copie de travail)
@@ -169,6 +169,7 @@
 						 | SC_PKCS15_PIN_FLAG_INITIALIZED
 						 | SC_PKCS15_PIN_FLAG_CASE_SENSITIVE;
 		pin_info.type = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
+		pin_info.auth_method = SC_AC_CHV;
 		pin_info.min_length = 4;
 		pin_info.stored_length = 8;
 		pin_info.max_length = 8;
Index: src/libopensc/pkcs15-gemsafeGPK.c
===================================================================
--- src/libopensc/pkcs15-gemsafeGPK.c	(révision 4063)
+++ src/libopensc/pkcs15-gemsafeGPK.c	(copie de travail)
@@ -49,6 +49,7 @@
 	const char *path;
 	int         ref;
 	int         type;
+	int         auth_method;
 	unsigned int maxlen;
 	unsigned int minlen;
 	unsigned int storedlen;
@@ -179,6 +180,7 @@
 	const pindata pins[] = {
 		{ "1", "pin", "3F000200", 0x00,
 		  SC_PKCS15_PIN_TYPE_ASCII_NUMERIC,
+		  SC_AC_CHV,
 		  8, 4, 8, SC_PKCS15_PIN_FLAG_NEEDS_PADDING |
 		  SC_PKCS15_PIN_FLAG_LOCAL, -1, 0x00,
 		  SC_PKCS15_CO_FLAG_PRIVATE },
@@ -439,6 +441,7 @@
 		pin_info.reference     = pins[i].ref;
 		pin_info.flags         = pins[i].flags;
 		pin_info.type          = pins[i].type;
+		pin_info.auth_method   = pins[i].auth_method;
 		pin_info.min_length    = pins[i].minlen;
 		pin_info.stored_length = pins[i].storedlen;
 		pin_info.max_length    = pins[i].maxlen;
Index: src/libopensc/pkcs15-esteid.c
===================================================================
--- src/libopensc/pkcs15-esteid.c	(révision 4063)
+++ src/libopensc/pkcs15-esteid.c	(copie de travail)
@@ -188,6 +188,7 @@
 		pin_info.reference = esteid_pin_ref[i];
 		pin_info.flags = esteid_pin_flags[i];
 		pin_info.type = SC_PKCS15_PIN_TYPE_ASCII_NUMERIC;
+		pin_info.auth_method = SC_AC_CHV;
 		pin_info.min_length = esteid_pin_min[i];
 		pin_info.stored_length = 12;
 		pin_info.max_length = 12;
