|
Lines 664-669
Link Here
|
| 664 |
break; |
664 |
break; |
| 665 |
} |
665 |
} |
| 666 |
|
666 |
|
|
|
667 |
/* certificate purpose */ |
| 668 |
switch(cmd) { |
| 669 |
case CMD_INIT: |
| 670 |
options.verify_purpose=0; |
| 671 |
break; |
| 672 |
case CMD_EXEC: |
| 673 |
if(strcasecmp(opt, "purpose")) |
| 674 |
break; |
| 675 |
options.verify_purpose=0; |
| 676 |
if (strcasecmp(arg, "ssl_client") == 0) |
| 677 |
options.verify_purpose=X509_PURPOSE_SSL_CLIENT; |
| 678 |
else if (strcasecmp(arg, "ssl_server") == 0) |
| 679 |
options.verify_purpose=X509_PURPOSE_SSL_SERVER; |
| 680 |
else if (strcasecmp(arg, "ns_ssl_server") == 0) |
| 681 |
options.verify_purpose=X509_PURPOSE_NS_SSL_SERVER; |
| 682 |
else if (strcasecmp(arg, "smime_sign") == 0) |
| 683 |
options.verify_purpose=X509_PURPOSE_SMIME_SIGN; |
| 684 |
else if (strcasecmp(arg, "smime_encrypt") == 0) |
| 685 |
options.verify_purpose=X509_PURPOSE_SMIME_ENCRYPT; |
| 686 |
else if (strcasecmp(arg, "crl_sign") == 0) |
| 687 |
options.verify_purpose=X509_PURPOSE_CRL_SIGN; |
| 688 |
else if (strcasecmp(arg, "any") == 0) |
| 689 |
options.verify_purpose=X509_PURPOSE_ANY; |
| 690 |
else |
| 691 |
return "Unknown purpose"; |
| 692 |
return NULL; /* OK */ |
| 693 |
case CMD_DEFAULT: |
| 694 |
log_raw("%-15s = OpenSSL default", "purpose"); |
| 695 |
break; |
| 696 |
case CMD_HELP: |
| 697 |
log_raw("%-15s = check the peer certificate for this purpose", "purpose"); |
| 698 |
log_raw("%18sssl_client, ssl_server, ns_ssl_server, smime_sign,", ""); |
| 699 |
log_raw("%18ssmime_encrypt, crl_sign, any", ""); |
| 700 |
break; |
| 701 |
} |
| 702 |
|
| 667 |
if(cmd==CMD_EXEC) |
703 |
if(cmd==CMD_EXEC) |
| 668 |
return option_not_found; |
704 |
return option_not_found; |
| 669 |
return NULL; /* OK */ |
705 |
return NULL; /* OK */ |