소스 검색

add testcase to verify that this patch is working

Steffen Jaeckel 11 년 전
부모
커밋
94363b601c
1개의 변경된 파일20개의 추가작업 그리고 0개의 파일을 삭제
  1. 20 0
      testprof/rsa_test.c

+ 20 - 0
testprof/rsa_test.c

@@ -291,6 +291,26 @@ for (cnt = 0; cnt < len; ) {
       return 1;
    }
 
+   /* verify with privKey but remove pointer to dP to test without CRT */
+
+   void* dP = privKey.dP;
+   privKey.dP = NULL;
+   /* change byte back to original */
+   in[0] ^= 1;
+   DO(rsa_verify_hash(out, len, in, 20, hash_idx, 0, &stat, &privKey));
+   /* change a byte */
+   in[0] ^= 1;
+   DO(rsa_verify_hash(out, len, in, 20, hash_idx, 0, &stat2, &privKey));
+
+   if (!(stat == 1 && stat2 == 0)) {
+      fprintf(stderr, "rsa_verify_hash (unsalted, privKey) failed, %d, %d", stat, stat2);
+      rsa_free(&key);
+      rsa_free(&pubKey);
+      rsa_free(&privKey);
+      return 1;
+   }
+   privKey.dP = dP;
+
    /* verify with pubKey */
    /* change byte back to original */
    in[0] ^= 1;