Lines Matching refs:exc
890 SSL_EXCERT *exc = arg; in set_cert_cb() local
903 if (exc == NULL) in set_cert_cb()
910 while (exc->next != NULL) in set_cert_cb()
911 exc = exc->next; in set_cert_cb()
915 while (exc != NULL) { in set_cert_cb()
917 rv = SSL_check_chain(ssl, exc->cert, exc->key, exc->chain); in set_cert_cb()
919 X509_NAME_print_ex(bio_err, X509_get_subject_name(exc->cert), 0, in set_cert_cb()
924 if (!SSL_use_certificate(ssl, exc->cert) in set_cert_cb()
925 || !SSL_use_PrivateKey(ssl, exc->key)) { in set_cert_cb()
933 if (exc->build_chain) { in set_cert_cb()
936 } else if (exc->chain != NULL) { in set_cert_cb()
937 if (!SSL_set1_chain(ssl, exc->chain)) in set_cert_cb()
941 exc = exc->prev; in set_cert_cb()
946 void ssl_ctx_set_excert(SSL_CTX *ctx, SSL_EXCERT *exc) in ssl_ctx_set_excert() argument
948 SSL_CTX_set_cert_cb(ctx, set_cert_cb, exc); in ssl_ctx_set_excert()
953 SSL_EXCERT *exc = app_malloc(sizeof(*exc), "prepend cert"); in ssl_excert_prepend() local
955 memset(exc, 0, sizeof(*exc)); in ssl_excert_prepend()
957 exc->next = *pexc; in ssl_excert_prepend()
958 *pexc = exc; in ssl_excert_prepend()
960 if (exc->next) { in ssl_excert_prepend()
961 exc->certform = exc->next->certform; in ssl_excert_prepend()
962 exc->keyform = exc->next->keyform; in ssl_excert_prepend()
963 exc->next->prev = exc; in ssl_excert_prepend()
965 exc->certform = FORMAT_PEM; in ssl_excert_prepend()
966 exc->keyform = FORMAT_PEM; in ssl_excert_prepend()
972 void ssl_excert_free(SSL_EXCERT *exc) in ssl_excert_free() argument
976 if (exc == NULL) in ssl_excert_free()
978 while (exc) { in ssl_excert_free()
979 X509_free(exc->cert); in ssl_excert_free()
980 EVP_PKEY_free(exc->key); in ssl_excert_free()
981 sk_X509_pop_free(exc->chain, X509_free); in ssl_excert_free()
982 curr = exc; in ssl_excert_free()
983 exc = exc->next; in ssl_excert_free()
990 SSL_EXCERT *exc = *pexc; in load_excert() local
991 if (exc == NULL) in load_excert()
994 if (exc->certfile == NULL && exc->next == NULL) { in load_excert()
995 ssl_excert_free(exc); in load_excert()
999 for (; exc; exc = exc->next) { in load_excert()
1000 if (exc->certfile == NULL) { in load_excert()
1004 exc->cert = load_cert(exc->certfile, exc->certform, in load_excert()
1006 if (exc->cert == NULL) in load_excert()
1008 if (exc->keyfile != NULL) { in load_excert()
1009 exc->key = load_key(exc->keyfile, exc->keyform, in load_excert()
1012 exc->key = load_key(exc->certfile, exc->certform, in load_excert()
1015 if (exc->key == NULL) in load_excert()
1017 if (exc->chainfile != NULL) { in load_excert()
1018 if (!load_certs(exc->chainfile, &exc->chain, FORMAT_PEM, NULL, in load_excert()
1030 SSL_EXCERT *exc = *pexc; in args_excert() local
1035 if (exc == NULL) { in args_excert()
1036 if (!ssl_excert_prepend(&exc)) { in args_excert()
1041 *pexc = exc; in args_excert()
1049 if (exc->certfile != NULL && !ssl_excert_prepend(&exc)) { in args_excert()
1053 *pexc = exc; in args_excert()
1054 exc->certfile = opt_arg(); in args_excert()
1057 if (exc->keyfile != NULL) { in args_excert()
1061 exc->keyfile = opt_arg(); in args_excert()
1064 if (exc->chainfile != NULL) { in args_excert()
1069 exc->chainfile = opt_arg(); in args_excert()
1072 exc->build_chain = 1; in args_excert()
1075 if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &exc->certform)) in args_excert()
1079 if (!opt_format(opt_arg(), OPT_FMT_PEMDER, &exc->keyform)) in args_excert()
1087 ssl_excert_free(exc); in args_excert()