pkcs11-tool: fixed displaying secret key attributes (#1807)
fixes https://github.com/OpenSC/OpenSC/issues/1805
This commit is contained in:
parent
d965156fe6
commit
e2491a7d7f
@ -4948,6 +4948,22 @@ pkcs15_skey_get_attribute(struct sc_pkcs11_session *session,
|
|||||||
&& (skey->base.p15_object->flags & SC_PKCS15_PRKEY_ACCESS_NEVEREXTRACTABLE) == 0
|
&& (skey->base.p15_object->flags & SC_PKCS15_PRKEY_ACCESS_NEVEREXTRACTABLE) == 0
|
||||||
&& (skey->base.p15_object->flags & SC_PKCS15_PRKEY_ACCESS_ALWAYSSENSITIVE) == 0) ? CK_TRUE : CK_FALSE;
|
&& (skey->base.p15_object->flags & SC_PKCS15_PRKEY_ACCESS_ALWAYSSENSITIVE) == 0) ? CK_TRUE : CK_FALSE;
|
||||||
break;
|
break;
|
||||||
|
case CKA_ALWAYS_SENSITIVE:
|
||||||
|
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
||||||
|
*(CK_BBOOL*)attr->pValue = (skey->info->access_flags & SC_PKCS15_PRKEY_ACCESS_ALWAYSSENSITIVE) != 0;
|
||||||
|
break;
|
||||||
|
case CKA_NEVER_EXTRACTABLE:
|
||||||
|
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
||||||
|
*(CK_BBOOL*)attr->pValue = (skey->info->access_flags & SC_PKCS15_PRKEY_ACCESS_NEVEREXTRACTABLE) != 0;
|
||||||
|
break;
|
||||||
|
case CKA_SENSITIVE:
|
||||||
|
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
||||||
|
*(CK_BBOOL*)attr->pValue = (skey->info->access_flags & SC_PKCS15_PRKEY_ACCESS_SENSITIVE) != 0;
|
||||||
|
break;
|
||||||
|
case CKA_LOCAL:
|
||||||
|
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
||||||
|
*(CK_BBOOL*)attr->pValue = (skey->info->access_flags & SC_PKCS15_PRKEY_ACCESS_LOCAL) != 0;
|
||||||
|
break;
|
||||||
case CKA_OPENSC_ALWAYS_AUTH_ANY_OBJECT:
|
case CKA_OPENSC_ALWAYS_AUTH_ANY_OBJECT:
|
||||||
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
check_attribute_buffer(attr, sizeof(CK_BBOOL));
|
||||||
*(CK_BBOOL*)attr->pValue = skey->base.p15_object->user_consent >= 1 ? CK_TRUE : CK_FALSE;
|
*(CK_BBOOL*)attr->pValue = skey->base.p15_object->user_consent >= 1 ? CK_TRUE : CK_FALSE;
|
||||||
|
@ -3886,11 +3886,16 @@ show_key(CK_SESSION_HANDLE sess, CK_OBJECT_HANDLE obj)
|
|||||||
|
|
||||||
switch (key_type) {
|
switch (key_type) {
|
||||||
case CKK_RSA:
|
case CKK_RSA:
|
||||||
if (pub)
|
if (sec) {
|
||||||
printf("; RSA %lu bits\n",
|
/* uninitialized secret key (type 0) */
|
||||||
(unsigned long) getMODULUS_BITS(sess, obj));
|
printf("\n");
|
||||||
else
|
} else {
|
||||||
printf("; RSA \n");
|
if (pub)
|
||||||
|
printf("; RSA %lu bits\n",
|
||||||
|
(unsigned long) getMODULUS_BITS(sess, obj));
|
||||||
|
else
|
||||||
|
printf("; RSA \n");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case CKK_GOSTR3410:
|
case CKK_GOSTR3410:
|
||||||
case CKK_GOSTR3410_512:
|
case CKK_GOSTR3410_512:
|
||||||
|
Loading…
Reference in New Issue
Block a user