else
GNUTLS_REQUIRES_PRIVATE="${GNUTLS_REQUIRES_PRIVATE}, p11-kit-1"
fi
+ if $PKG_CONFIG --atleast-version=0.23.1 p11-kit; then
+ AC_DEFINE([P11_KIT_HAS_PIN_VALUE], 1, [p11-kit supports p11_kit_uri_get_pin_value()])
+ fi
else
with_p11_kit=no
AC_MSG_ERROR([[
if (pin) {
*pin = NULL;
- /* Check if a pinfile is specified, and use that if possible */
- pinfile = p11_kit_uri_get_pin_source(info);
+ /* First check for pin-value field */
+#ifdef P11_KIT_HAS_PIN_VALUE
+ pinfile = p11_kit_uri_get_pin_value(info);
+#else
+ pinfile = NULL;
+#endif
if (pinfile != NULL) {
- _gnutls_debug_log("p11: Using pinfile to retrieve PIN\n");
- ret =
- retrieve_pin_from_source(pinfile, token_info, attempts,
- user_type, pin);
+ _gnutls_debug_log("p11: Using pin-value to retrieve PIN\n");
+ *pin = p11_kit_pin_new_for_string(pinfile);
+ if (*pin != NULL)
+ ret = 0;
+ } else { /* try pin-source */
+ /* Check if a pinfile is specified, and use that if possible */
+ pinfile = p11_kit_uri_get_pin_source(info);
+ if (pinfile != NULL) {
+ _gnutls_debug_log("p11: Using pin-source to retrieve PIN\n");
+ ret =
+ retrieve_pin_from_source(pinfile, token_info, attempts,
+ user_type, pin);
+ }
}
}