|
Lines 398-408
Link Here
|
| 398 |
// compare key type key-k-tag declared and stored in key-p-tag |
398 |
// compare key type key-k-tag declared and stored in key-p-tag |
| 399 |
switch (self->keytype) { |
399 |
switch (self->keytype) { |
| 400 |
case DKIM_KEY_TYPE_RSA: |
400 |
case DKIM_KEY_TYPE_RSA: |
| 401 |
if (EVP_PKEY_RSA != EVP_PKEY_type(self->pkey->type)) { |
401 |
if (EVP_PKEY_RSA != EVP_PKEY_base_id(self->pkey)) { |
| 402 |
DkimLogPermFail |
402 |
DkimLogPermFail |
| 403 |
(policy, |
403 |
(policy, |
| 404 |
"key-k-tag and key-p-tag doesn't match: domain=%s, keyalg=0x%x, keytype=0x%x", |
404 |
"key-k-tag and key-p-tag doesn't match: domain=%s, keyalg=0x%x, keytype=0x%x", |
| 405 |
domain, self->keytype, EVP_PKEY_type(self->pkey->type)); |
405 |
domain, self->keytype, EVP_PKEY_base_id(self->pkey)); |
| 406 |
SETDEREF(dstat, DSTAT_PERMFAIL_PUBLICKEY_TYPE_MISMATCH); |
406 |
SETDEREF(dstat, DSTAT_PERMFAIL_PUBLICKEY_TYPE_MISMATCH); |
| 407 |
goto cleanup; |
407 |
goto cleanup; |
| 408 |
} // end if |
408 |
} // end if |