* gnutls_privkey_import_url:
* @key: A key of type #gnutls_pubkey_t
* @url: A PKCS 11 url
+ * @flags: should be zero
*
* This function will import a PKCS11 or TPM URL as a
* private key.
* Since: 3.1.0
**/
int
-gnutls_privkey_import_url (gnutls_privkey_t key, const char *url)
+gnutls_privkey_import_url (gnutls_privkey_t key, const char *url, unsigned int flags)
{
#ifdef ENABLE_PKCS11
if (strstr(url, "pkcs11:") != NULL)
const char* url, const char *srk_password, const char *key_password,
unsigned int flags);
-int gnutls_privkey_import_url (gnutls_privkey_t key, const char *url);
+int gnutls_privkey_import_url (gnutls_privkey_t key, const char *url, unsigned int flags);
int gnutls_privkey_import_pkcs11_url (gnutls_privkey_t key, const char *url);
static int tss_err_pwd(TSS_RESULT err, int pwd_error)
{
- _gnutls_debug_log("TPM error: %s (%x)\n", Trspi_Error_String(err), (unsigned int)Trspi_Error_Code(err));
+ _gnutls_debug_log("TPM (%s) error: %s (%x)\n", Trspi_Error_Layer(err), Trspi_Error_String(err), (unsigned int)Trspi_Error_Code(err));
switch(ERROR_LAYER(err))
{
case TPM_E_NOSRK:
return GNUTLS_E_TPM_UNINITIALIZED;
default:
- return GNUTLS_E_TPM_ERROR;
+ return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
case TSS_LAYER_TCS:
+ case TSS_LAYER_TSP:
switch(ERROR_CODE(err))
{
case TSS_E_COMM_FAILURE:
case TSS_E_PS_KEY_NOTFOUND:
return GNUTLS_E_TPM_KEY_NOT_FOUND;
default:
- return GNUTLS_E_TPM_ERROR;
+ return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
default:
- return GNUTLS_E_TPM_ERROR;
+ return gnutls_assert_val(GNUTLS_E_TPM_ERROR);
}
}
if (err)
{
gnutls_assert ();
- _gnutls_debug_log ("Failed to set TPM PIN: %s\n",
- Trspi_Error_String (err));
ret = tss_err(err);
goto out_srkpol;
}
if (err)
{
gnutls_assert ();
- _gnutls_debug_log
- ("Failed to create key policy object: %s\n",
- Trspi_Error_String (err));
ret = tss_err(err);
goto out_key;
}
if (err)
{
gnutls_assert ();
- _gnutls_debug_log ("Failed to assign policy to key: %s\n",
- Trspi_Error_String (err));
ret = tss_err(err);
goto out_key_policy;
}
if (err)
{
gnutls_assert ();
- _gnutls_debug_log ("Failed to set key PIN: %s\n",
- Trspi_Error_String (err));
ret = tss_err_key(err);
goto out_key_policy;
}
{
p += sizeof ("file=") - 1;
size = strlen(p);
- s->filename = gnutls_malloc(size);
+ s->filename = gnutls_malloc(size+1);
if (s->filename == NULL)
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
gnutls_assert();
goto cleanup;
}
+ s->filename[size] = 0;
}
else if ((p = strstr(url, "uuid=")) != NULL)
{
if (ret < 0)
{
gnutls_assert();
+ _gnutls_debug_log("Error loading %s\n", durl.filename);
goto cleanup;
}
asn1.size, asn1.data, &s.tpm_key);
if (err != 0)
{
- if (srk_password)
- {
- gnutls_assert ();
- _gnutls_debug_log
- ("Failed to load TPM key blob: %s\n",
- Trspi_Error_String (err));
- }
-
- if (err)
- {
- gnutls_assert ();
- ret = tss_err(err);
- goto out_blob;
- }
+ gnutls_assert ();
+ ret = tss_err(err);
+ goto out_blob;
}
}
else if (uuid)