鏡像自
git://git.gnupg.org/gnupg.git
synced 2025-07-01 22:37:57 +02:00
scd: Convey the correct length for Le
* scd/app-openpgp.c (determine_rsa_response): Round bits up. -- Co-authored-by: Arnaud Fontaine <arnaud.fontaine@ssi.gouv.fr> Arnaud wrote: Actually, when the incorrect expected response length (i.e. Le field) is transmitted to the card, the card's answer is missing a byte (i.e. ... 6101) so an additional command has to be sent to the card to retrieve the last byte. Using the correct length avoids to send the additional command to retrieve the missing byte, when the computed length is wrong. Note that an value of 65537 for E is pretty standard and thus we can avoid the 6101 return code inmost cases. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
父節點
13821e15fb
當前提交
45d5f5800a
@ -943,8 +943,8 @@ determine_rsa_response (app_t app, int keyno)
|
||||
int size;
|
||||
|
||||
size = 2 + 3 /* header */
|
||||
+ 4 /* tag+len */ + app->app_local->keyattr[keyno].rsa.n_bits/8
|
||||
+ 2 /* tag+len */ + app->app_local->keyattr[keyno].rsa.e_bits/8;
|
||||
+ 4 /* tag+len */ + (app->app_local->keyattr[keyno].rsa.n_bits+7)/8
|
||||
+ 2 /* tag+len */ + (app->app_local->keyattr[keyno].rsa.e_bits+7)/8;
|
||||
|
||||
return size;
|
||||
}
|
||||
|
載入中…
x
新增問題並參考
Block a user