[pkg-opensc-commit] [opensc] 24/50: pkcs15init: authentIC: init card/pin not supported
Eric Dorland
eric at moszumanska.debian.org
Sat May 28 03:35:48 UTC 2016
This is an automated email from the git hooks/post-receive script.
eric pushed a commit to branch master
in repository opensc.
commit 5be51ea3e20a05d8604db9f59f7788b87a82018e
Author: Viktor Tarasov <viktor.tarasov at gmail.com>
Date: Wed Apr 27 15:47:50 2016 +0200
pkcs15init: authentIC: init card/pin not supported
---
src/pkcs15init/pkcs15-authentic.c | 30 +++++++++++++++++++++++++++---
src/pkcs15init/pkcs15-lib.c | 7 +++++--
2 files changed, 32 insertions(+), 5 deletions(-)
diff --git a/src/pkcs15init/pkcs15-authentic.c b/src/pkcs15init/pkcs15-authentic.c
index d5f0916..7fcea79 100644
--- a/src/pkcs15init/pkcs15-authentic.c
+++ b/src/pkcs15init/pkcs15-authentic.c
@@ -855,15 +855,39 @@ authentic_emu_update_tokeninfo(struct sc_profile *profile, struct sc_pkcs15_card
LOG_FUNC_RETURN(ctx, SC_SUCCESS);
}
+static int
+authentic_pkcs15_init_card(struct sc_profile *profile, struct sc_pkcs15_card *p15card)
+{
+ LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
+
+static int
+authentic_pkcs15_create_dir(struct sc_profile *profile, struct sc_pkcs15_card *p15card,
+ struct sc_file *df)
+{
+ LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
+
+static int
+authentic_pkcs15_create_pin(struct sc_profile *profile, struct sc_pkcs15_card *p15card,
+ struct sc_file *df, struct sc_pkcs15_object *pin_obj,
+ const unsigned char *pin, size_t pin_len,
+ const unsigned char *puk, size_t puk_len)
+{
+ LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
static struct sc_pkcs15init_operations
sc_pkcs15init_authentic_operations = {
authentic_pkcs15_erase_card,
- NULL, /* init_card */
- NULL, /* create_dir */
+ authentic_pkcs15_init_card,
+ authentic_pkcs15_create_dir,
NULL, /* create_domain */
NULL, /* select_pin_reference */
- NULL, /* create_pin */
+ authentic_pkcs15_create_pin,
authentic_pkcs15_select_key_reference,
authentic_pkcs15_create_key,
authentic_pkcs15_store_key,
diff --git a/src/pkcs15init/pkcs15-lib.c b/src/pkcs15init/pkcs15-lib.c
index cfbb1b6..4df0e84 100644
--- a/src/pkcs15init/pkcs15-lib.c
+++ b/src/pkcs15init/pkcs15-lib.c
@@ -814,12 +814,14 @@ sc_pkcs15init_add_app(struct sc_card *card, struct sc_profile *profile,
*/
sc_log(ctx, "Add virtual SO_PIN('%.*s',flags:%X,reference:%i,path:'%s')", (int) sizeof pin_obj->label, pin_obj->label,
pin_attrs->flags, pin_attrs->reference, sc_print_path(&pin_ainfo.path));
+
r = sc_pkcs15_add_object(p15card, pin_obj);
LOG_TEST_RET(ctx, r, "Failed to add 'SOPIN' AUTH object");
}
}
/* Perform card-specific initialization */
+
if (profile->ops->init_card) {
r = profile->ops->init_card(profile, p15card);
if (r < 0 && pin_obj) {
@@ -830,11 +832,12 @@ sc_pkcs15init_add_app(struct sc_card *card, struct sc_profile *profile,
}
/* Create the application directory */
- r = profile->ops->create_dir(profile, p15card, df);
+ if (profile->ops->create_dir)
+ r = profile->ops->create_dir(profile, p15card, df);
LOG_TEST_RET(ctx, r, "Create 'DIR' error");
/* Store SO PIN */
- if (pin_obj)
+ if (pin_obj && profile->ops->create_pin)
r = profile->ops->create_pin(profile, p15card, df, pin_obj,
args->so_pin, args->so_pin_len,
args->so_puk, args->so_puk_len);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opensc/opensc.git
More information about the pkg-opensc-commit
mailing list