cdk_keydb_get_keyblock( out, &snode );
if( !snode ) {
- rc = GNUTLS_E_INTERNAL_ERROR;
+ rc = GNUTLS_E_OPENPGP_GETKEY_FAILED;
goto leave;
}
pkt = cdk_kbnode_find_packet( snode, CDK_PKT_SECRET_KEY );
if( !pkt ) {
- rc = GNUTLS_E_INTERNAL_ERROR;
+ rc = GNUTLS_E_OPENPGP_GETKEY_FAILED;
goto leave;
}
sk = pkt->pkt.secret_key;
}
if( !cdk_kbnode_find( knode, CDK_PKT_PUBLIC_KEY ) ) {
- rc = GNUTLS_E_INTERNAL_ERROR;
+ rc = GNUTLS_E_OPENPGP_GETKEY_FAILED;
goto leave;
}
rc = kbnode_to_datum( knode, key );
rc = datum_to_kbnode( key, &knode );
if( rc )
- return GNUTLS_E_INTERNAL_ERROR;
+ return rc;
pkt = cdk_kbnode_find_packet( knode, CDK_PKT_PUBLIC_KEY );
if( !pkt ) {
- rc = GNUTLS_E_INTERNAL_ERROR;
+ rc = GNUTLS_E_OPENPGP_GETKEY_FAILED;
goto leave;
}
pk = pkt->pkt.public_key;
}
leave:
+ if( rc )
+ *r_trustval |= GNUTLS_CERT_NOT_TRUSTED;
cdk_kbnode_release( knode );
return rc;
}
pkt = search_packet( cert, CDK_PKT_PUBLIC_KEY );
if( !pkt )
- return GNUTLS_E_INTERNAL_ERROR;
+ return GNUTLS_E_OPENPGP_GETKEY_FAILED;
pk = pkt->pkt.public_key;
*fprlen = 20;
pkt = search_packet( cert, CDK_PKT_PUBLIC_KEY );
if( !pkt )
- return GNUTLS_E_INTERNAL_ERROR;
+ return GNUTLS_E_OPENPGP_GETKEY_FAILED;
pk = pkt->pkt.public_key;
cdk_pk_get_keyid( pk, kid );