Lines Matching refs:opt
205 } opt;
218 if (opt.format == FORMAT_DER) {
347 opt.issuer_crt = DFL_ISSUER_CRT;
348 opt.request_file = DFL_REQUEST_FILE;
349 opt.subject_key = DFL_SUBJECT_KEY;
350 opt.issuer_key = DFL_ISSUER_KEY;
351 opt.subject_pwd = DFL_SUBJECT_PWD;
352 opt.issuer_pwd = DFL_ISSUER_PWD;
353 opt.output_file = DFL_OUTPUT_FILENAME;
354 opt.subject_name = DFL_SUBJECT_NAME;
355 opt.issuer_name = DFL_ISSUER_NAME;
356 opt.not_before = DFL_NOT_BEFORE;
357 opt.not_after = DFL_NOT_AFTER;
358 opt.serial = DFL_SERIAL;
359 opt.serial_hex = DFL_SERIAL_HEX;
360 opt.selfsign = DFL_SELFSIGN;
361 opt.is_ca = DFL_IS_CA;
362 opt.max_pathlen = DFL_MAX_PATHLEN;
363 opt.key_usage = DFL_KEY_USAGE;
364 opt.ext_key_usage = DFL_EXT_KEY_USAGE;
365 opt.ns_cert_type = DFL_NS_CERT_TYPE;
366 opt.version = DFL_VERSION - 1;
367 opt.md = DFL_DIGEST;
368 opt.subject_identifier = DFL_SUBJ_IDENT;
369 opt.authority_identifier = DFL_AUTH_IDENT;
370 opt.basic_constraints = DFL_CONSTRAINTS;
371 opt.format = DFL_FORMAT;
372 opt.san_list = NULL;
383 opt.request_file = q;
385 opt.subject_key = q;
387 opt.issuer_key = q;
389 opt.subject_pwd = q;
391 opt.issuer_pwd = q;
393 opt.issuer_crt = q;
395 opt.output_file = q;
397 opt.subject_name = q;
399 opt.issuer_name = q;
401 opt.not_before = q;
403 opt.not_after = q;
410 opt.serial = q;
417 opt.serial_hex = q;
419 opt.authority_identifier = atoi(q);
420 if (opt.authority_identifier != 0 &&
421 opt.authority_identifier != 1) {
426 opt.subject_identifier = atoi(q);
427 if (opt.subject_identifier != 0 &&
428 opt.subject_identifier != 1) {
433 opt.basic_constraints = atoi(q);
434 if (opt.basic_constraints != 0 &&
435 opt.basic_constraints != 1) {
446 opt.md = mbedtls_md_get_type(md_info);
448 opt.version = atoi(q);
449 if (opt.version < 1 || opt.version > 3) {
453 opt.version--;
455 opt.selfsign = atoi(q);
456 if (opt.selfsign < 0 || opt.selfsign > 1) {
461 opt.is_ca = atoi(q);
462 if (opt.is_ca < 0 || opt.is_ca > 1) {
467 opt.max_pathlen = atoi(q);
468 if (opt.max_pathlen < -1 || opt.max_pathlen > 127) {
479 opt.key_usage |= MBEDTLS_X509_KU_DIGITAL_SIGNATURE;
481 opt.key_usage |= MBEDTLS_X509_KU_NON_REPUDIATION;
483 opt.key_usage |= MBEDTLS_X509_KU_KEY_ENCIPHERMENT;
485 opt.key_usage |= MBEDTLS_X509_KU_DATA_ENCIPHERMENT;
487 opt.key_usage |= MBEDTLS_X509_KU_KEY_AGREEMENT;
489 opt.key_usage |= MBEDTLS_X509_KU_KEY_CERT_SIGN;
491 opt.key_usage |= MBEDTLS_X509_KU_CRL_SIGN;
500 mbedtls_asn1_sequence **tail = &opt.ext_key_usage;
622 opt.san_list = cur;
637 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT;
639 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER;
641 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_EMAIL;
643 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING;
645 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_SSL_CA;
647 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_EMAIL_CA;
649 opt.ns_cert_type |= MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING_CA;
659 opt.format = FORMAT_DER;
661 opt.format = FORMAT_PEM;
697 opt.serial_hex, &serial_len);
700 opt.serial, &serial_len);
712 if (!opt.selfsign && strlen(opt.issuer_crt)) {
719 if ((ret = mbedtls_x509_crt_parse_file(&issuer_crt, opt.issuer_crt)) != 0) {
735 opt.issuer_name = issuer_name;
743 if (!opt.selfsign && strlen(opt.request_file)) {
750 if ((ret = mbedtls_x509_csr_parse_file(&csr, opt.request_file)) != 0) {
766 opt.subject_name = subject_name;
776 if (!opt.selfsign && !strlen(opt.request_file)) {
780 ret = mbedtls_pk_parse_keyfile(&loaded_subject_key, opt.subject_key,
781 opt.subject_pwd, mbedtls_ctr_drbg_random, &ctr_drbg);
795 ret = mbedtls_pk_parse_keyfile(&loaded_issuer_key, opt.issuer_key,
796 opt.issuer_pwd, mbedtls_ctr_drbg_random, &ctr_drbg);
806 if (strlen(opt.issuer_crt)) {
817 if (opt.selfsign) {
818 opt.subject_name = opt.issuer_name;
828 if ((ret = mbedtls_x509write_crt_set_subject_name(&crt, opt.subject_name)) != 0) {
835 if ((ret = mbedtls_x509write_crt_set_issuer_name(&crt, opt.issuer_name)) != 0) {
845 mbedtls_x509write_crt_set_version(&crt, opt.version);
846 mbedtls_x509write_crt_set_md_alg(&crt, opt.md);
856 ret = mbedtls_x509write_crt_set_validity(&crt, opt.not_before, opt.not_after);
866 if (opt.version == MBEDTLS_X509_CRT_VERSION_3 &&
867 opt.basic_constraints != 0) {
871 ret = mbedtls_x509write_crt_set_basic_constraints(&crt, opt.is_ca,
872 opt.max_pathlen);
884 if (opt.version == MBEDTLS_X509_CRT_VERSION_3 &&
885 opt.subject_identifier != 0) {
901 if (opt.version == MBEDTLS_X509_CRT_VERSION_3 &&
902 opt.authority_identifier != 0) {
919 if (opt.version == MBEDTLS_X509_CRT_VERSION_3 &&
920 opt.key_usage != 0) {
924 ret = mbedtls_x509write_crt_set_key_usage(&crt, opt.key_usage);
935 if (opt.san_list != NULL) {
936 ret = mbedtls_x509write_crt_set_subject_alternative_name(&crt, opt.san_list);
946 if (opt.ext_key_usage) {
950 ret = mbedtls_x509write_crt_set_ext_key_usage(&crt, opt.ext_key_usage);
963 if (opt.version == MBEDTLS_X509_CRT_VERSION_3 &&
964 opt.ns_cert_type != 0) {
968 ret = mbedtls_x509write_crt_set_ns_cert_type(&crt, opt.ns_cert_type);
985 if ((ret = write_certificate(&crt, opt.output_file,