mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-09-21 07:46:12 +08:00
adapt return codes
This commit is contained in:
parent
a28e5a88d1
commit
0f4e31bfb0
|
@ -340,7 +340,7 @@ static int cmd_hf_fido_register(const char *cmd) {
|
|||
uint8_t rval[300] = {0};
|
||||
uint8_t sval[300] = {0};
|
||||
res = ecdsa_asn1_get_signature(&buf[hashp], len - hashp, rval, sval);
|
||||
if (!res) {
|
||||
if (res == PM3_SUCCESS) {
|
||||
if (verbose) {
|
||||
PrintAndLogEx(INFO, " r: %s", sprint_hex(rval, 32));
|
||||
PrintAndLogEx(INFO, " s: %s", sprint_hex(sval, 32));
|
||||
|
@ -583,7 +583,7 @@ static int cmd_hf_fido_authenticate(const char *cmd) {
|
|||
uint8_t rval[300] = {0};
|
||||
uint8_t sval[300] = {0};
|
||||
res = ecdsa_asn1_get_signature(&buf[5], len - 5, rval, sval);
|
||||
if (!res) {
|
||||
if (res == PM3_SUCCESS) {
|
||||
if (verbose) {
|
||||
PrintAndLogEx(INFO, " r: %s", sprint_hex(rval, 32));
|
||||
PrintAndLogEx(INFO, " s: %s", sprint_hex(sval, 32));
|
||||
|
|
|
@ -12,18 +12,16 @@
|
|||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include <mbedtls/asn1.h>
|
||||
|
||||
#include "ui.h" // Print...
|
||||
|
||||
#include "emv/tlv.h"
|
||||
#include "asn1dump.h"
|
||||
#include "util.h"
|
||||
|
||||
int ecdsa_asn1_get_signature(uint8_t *signature, size_t signaturelen, uint8_t *rval, uint8_t *sval) {
|
||||
if (!signature || !signaturelen || !rval || !sval)
|
||||
return 1;
|
||||
return PM3_EINVARG;
|
||||
|
||||
int res = 0;
|
||||
int res = PM3_SUCCESS;
|
||||
unsigned char *p = signature;
|
||||
const unsigned char *end = p + signaturelen;
|
||||
size_t len;
|
||||
|
@ -56,7 +54,7 @@ int ecdsa_asn1_get_signature(uint8_t *signature, size_t signaturelen, uint8_t *r
|
|||
|
||||
// check size
|
||||
if (end != p)
|
||||
return 2;
|
||||
return PM3_ESOFT;
|
||||
}
|
||||
|
||||
exit:
|
||||
|
@ -79,10 +77,10 @@ int asn1_print(uint8_t *asn1buf, size_t asn1buflen, const char *indent) {
|
|||
tlvdb_free(t);
|
||||
} else {
|
||||
PrintAndLogEx(ERR, "Can't parse data as TLV tree");
|
||||
return 1;
|
||||
return PM3_ESOFT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -418,7 +418,7 @@ int ecdsa_nist_test(bool verbose) {
|
|||
// make signature
|
||||
res = ecdsa_signature_create_test(curveid, T_PRIVATE_KEY, T_Q_X, T_Q_Y, T_K, input, length, signature, &siglen);
|
||||
// PrintAndLogEx(INFO, "res: %x signature[%x]: %s", (res < 0)? -res : res, siglen, sprint_hex(signature, siglen));
|
||||
if (res)
|
||||
if (res != PM3_SUCCESS)
|
||||
goto exit;
|
||||
|
||||
// check vectors
|
||||
|
@ -483,7 +483,7 @@ int ecdsa_nist_test(bool verbose) {
|
|||
if (verbose)
|
||||
PrintAndLogEx(NORMAL, _GREEN_("passed\n"));
|
||||
|
||||
return 0;
|
||||
return PM3_SUCCESS;
|
||||
exit:
|
||||
if (verbose)
|
||||
PrintAndLogEx(NORMAL, _RED_("failed\n"));
|
||||
|
|
|
@ -1356,10 +1356,10 @@ static int CmdEMVExec(const char *Cmd) {
|
|||
// here must be AC2, but we dont make external authenticate (
|
||||
/* // AC2
|
||||
PRINT_INDENT(level);
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_AAC2) fprintf(f, "\tAC2: AAC (Transaction declined)\n");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_TC2) fprintf(f, "\tAC2: TC (Transaction approved)\n");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_ARQC2) fprintf(f, "\tAC2: not requested (ARQC)\n");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_AC2_MASK) fprintf(f, "\tAC2: RFU\n");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_AAC2) PrintAndLogEx(NORMAL, "\tAC2: AAC (Transaction declined)");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_TC2) PrintAndLogEx(NORMAL, "\tAC2: TC (Transaction approved)");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_ARQC2) PrintAndLogEx(NORMAL, "\tAC2: not requested (ARQC)");
|
||||
if ((CID & EMVAC_AC2_MASK) == EMVAC_AC2_MASK) PrintAndLogEx(NORMAL, "\tAC2: RFU");
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
|
|
@ -363,7 +363,7 @@ static int FIDO2CheckSignature(json_t *root, uint8_t *publickey, uint8_t *sign,
|
|||
uint8_t sval[300] = {0};
|
||||
|
||||
int res = ecdsa_asn1_get_signature(sign, signLen, rval, sval);
|
||||
if (!res) {
|
||||
if (res == PM3_SUCCESS) {
|
||||
if (verbose) {
|
||||
PrintAndLogEx(INFO, " r: %s", sprint_hex(rval, 32));
|
||||
PrintAndLogEx(INFO, " s: %s", sprint_hex(sval, 32));
|
||||
|
|
|
@ -180,7 +180,7 @@ static int ndefDecodeSig1(uint8_t *sig, size_t siglen) {
|
|||
uint8_t rval[300] = {0};
|
||||
uint8_t sval[300] = {0};
|
||||
int res = ecdsa_asn1_get_signature(&sig[indx], intsiglen, rval, sval);
|
||||
if (!res) {
|
||||
if (res == PM3_SUCCESS) {
|
||||
PrintAndLogEx(SUCCESS, "\t\tr: %s", sprint_hex(rval + 32 - slen, slen));
|
||||
PrintAndLogEx(SUCCESS, "\t\ts: %s", sprint_hex(sval + 32 - slen, slen));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue