Lines 620-625
Link Here
|
620 |
break; |
620 |
break; |
621 |
} |
621 |
} |
622 |
|
622 |
|
|
|
623 |
/* certificate purpose */ |
624 |
switch(cmd) { |
625 |
case CMD_INIT: |
626 |
options.verify_purpose=0; |
627 |
break; |
628 |
case CMD_EXEC: |
629 |
if(strcasecmp(opt, "purpose")) |
630 |
break; |
631 |
options.verify_purpose=0; |
632 |
if (strcasecmp(arg, "ssl_client") == 0) |
633 |
options.verify_purpose=X509_PURPOSE_SSL_CLIENT; |
634 |
else if (strcasecmp(arg, "ssl_server") == 0) |
635 |
options.verify_purpose=X509_PURPOSE_SSL_SERVER; |
636 |
else if (strcasecmp(arg, "ns_ssl_server") == 0) |
637 |
options.verify_purpose=X509_PURPOSE_NS_SSL_SERVER; |
638 |
else if (strcasecmp(arg, "smime_sign") == 0) |
639 |
options.verify_purpose=X509_PURPOSE_SMIME_SIGN; |
640 |
else if (strcasecmp(arg, "smime_encrypt") == 0) |
641 |
options.verify_purpose=X509_PURPOSE_SMIME_ENCRYPT; |
642 |
else if (strcasecmp(arg, "crl_sign") == 0) |
643 |
options.verify_purpose=X509_PURPOSE_CRL_SIGN; |
644 |
else if (strcasecmp(arg, "any") == 0) |
645 |
options.verify_purpose=X509_PURPOSE_ANY; |
646 |
else |
647 |
return "Unknown purpose"; |
648 |
return NULL; /* OK */ |
649 |
case CMD_DEFAULT: |
650 |
log_raw("%-15s = OpenSSL default", "purpose"); |
651 |
break; |
652 |
case CMD_HELP: |
653 |
log_raw("%-15s = check the peer certificate for this purpose", "purpose"); |
654 |
log_raw("%18sssl_client, ssl_server, ns_ssl_server, smime_sign,", ""); |
655 |
log_raw("%18ssmime_encrypt, crl_sign, any", ""); |
656 |
break; |
657 |
} |
658 |
|
623 |
if(cmd==CMD_EXEC) |
659 |
if(cmd==CMD_EXEC) |
624 |
return option_not_found; |
660 |
return option_not_found; |
625 |
return NULL; /* OK */ |
661 |
return NULL; /* OK */ |