]>
git.saurik.com Git - apple/security.git/blob - SecurityTests/cspxutils/ccOpensslCompat/ccOpensslCompat.cpp
2 * ccOpensslCompat.cpp - verify that the compatibility macros at the end of CommonDigest.h
3 * result in openssl-compatible calls
10 #include "digestCommonExtern.h"
13 #define MAX_DIGEST_LEN 64
15 static void usage(char **argv
)
17 printf("usage: %s [options]\n", argv
[0]);
19 printf(" q -- quiet\n");
24 int main(int argc
, char **argv
)
30 for(arg
=1; arg
<argc
; arg
++) {
41 testStartBanner("ccOpensslCompat", argc
, argv
);
43 const char *str
= "digest this";
44 unsigned len
= strlen(str
);
45 unsigned char digestOS
[MAX_DIGEST_LEN
];
46 unsigned char digestCC
[MAX_DIGEST_LEN
];
50 printf("...testing MD2\n");
52 if(md2os(str
, len
, digestOS
)) {
53 printf("***Error on openssl MD2\n");
56 if(md2cc(str
, len
, digestCC
)) {
57 printf("***Error on CommonCrypto MD2\n");
60 if(memcmp(digestOS
, digestCC
, 16)) {
61 printf("***MD2 Digest miscompare\n");
67 printf("...testing MD4\n");
69 if(md4os(str
, len
, digestOS
)) {
70 printf("***Error on openssl MD4\n");
73 if(md4cc(str
, len
, digestCC
)) {
74 printf("***Error on CommonCrypto MD5\n");
77 if(memcmp(digestOS
, digestCC
, 16)) {
78 printf("***MD4 Digest miscompare\n");
84 printf("...testing MD5\n");
86 if(md5os(str
, len
, digestOS
)) {
87 printf("***Error on openssl MD5\n");
90 if(md5cc(str
, len
, digestCC
)) {
91 printf("***Error on CommonCrypto MD5\n");
94 if(memcmp(digestOS
, digestCC
, 16)) {
95 printf("***MD5 Digest miscompare\n");
101 printf("...testing SHA1\n");
103 if(sha1os(str
, len
, digestOS
)) {
104 printf("***Error on openssl SHA1\n");
107 if(sha1cc(str
, len
, digestCC
)) {
108 printf("***Error on CommonCrypto SHA1\n");
111 if(memcmp(digestOS
, digestCC
, 20)) {
112 printf("***SHA1 Digest miscompare\n");
118 printf("...testing SHA224\n");
120 if(sha224os(str
, len
, digestOS
)) {
121 printf("***Error on openssl SHA224\n");
124 if(sha224cc(str
, len
, digestCC
)) {
125 printf("***Error on CommonCrypto SHA224\n");
128 if(memcmp(digestOS
, digestCC
, 28)) {
129 printf("***SHA224 Digest miscompare\n");
135 printf("...testing SHA256\n");
137 if(sha256os(str
, len
, digestOS
)) {
138 printf("***Error on openssl SHA256\n");
141 if(sha256cc(str
, len
, digestCC
)) {
142 printf("***Error on CommonCrypto SHA256\n");
145 if(memcmp(digestOS
, digestCC
, 32)) {
146 printf("***SHA256 Digest miscompare\n");
152 printf("...testing SHA384\n");
154 if(sha384os(str
, len
, digestOS
)) {
155 printf("***Error on openssl SHA384\n");
158 if(sha384cc(str
, len
, digestCC
)) {
159 printf("***Error on CommonCrypto SHA384\n");
162 if(memcmp(digestOS
, digestCC
, 48)) {
163 printf("***SHA384 Digest miscompare\n");
169 printf("...testing SHA512\n");
171 if(sha512os(str
, len
, digestOS
)) {
172 printf("***Error on openssl SHA512\n");
175 if(sha512cc(str
, len
, digestCC
)) {
176 printf("***Error on CommonCrypto SHA512\n");
179 if(memcmp(digestOS
, digestCC
, 64)) {
180 printf("***SHA512 Digest miscompare\n");
185 printf("...success\n");