aboutsummaryrefslogtreecommitdiffstats
path: root/scd
diff options
context:
space:
mode:
authorMario Haustein <[email protected]>2024-02-19 09:22:35 +0000
committerWerner Koch <[email protected]>2024-02-20 09:32:08 +0000
commit557f29d2c16e8d31729a20f56e2c18b0b0726414 (patch)
treeaad578380acda643f8acf9b32e4fffe5989bc742 /scd
parentscd:p15: Take derive usage into account for decryption (2). (diff)
downloadgnupg-557f29d2c16e8d31729a20f56e2c18b0b0726414.tar.gz
gnupg-557f29d2c16e8d31729a20f56e2c18b0b0726414.zip
scd:p15: Add ECC support for D-Trust Card 4.1/4.4
* scd/app-p15.c (do_sign): Add MSE RESTORE parameters for D-Trust ECC cards. (do_decipher): Ditto.
Diffstat (limited to 'scd')
-rw-r--r--scd/app-p15.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/scd/app-p15.c b/scd/app-p15.c
index cfe369a15..43557e08b 100644
--- a/scd/app-p15.c
+++ b/scd/app-p15.c
@@ -5829,9 +5829,8 @@ do_sign (app_t app, ctrl_t ctrl, const char *keyidstr, int hashalgo,
{
if (prkdf->is_ecc)
{
- /* Not implemented due to lacking test hardware. */
- log_info ("Note: ECC is not yet implemented for DTRUST 4 cards\n");
- err = gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
+ err = iso7816_manage_security_env (app_get_slot (app),
+ 0xf3, 0x21, NULL, 0);
}
else
{
@@ -6090,9 +6089,8 @@ do_decipher (app_t app, ctrl_t ctrl, const char *keyidstr,
{
if (prkdf->is_ecc)
{
- /* Not implemented due to lacking test hardware. */
- log_info ("Note: ECC is not yet implemented for DTRUST 4 cards\n");
- err = gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM);
+ err = iso7816_manage_security_env (app_get_slot (app),
+ 0xF3, 0x39, NULL, 0);
}
else
{