0
我正在開發一個使用帶有SSL支持的gSOAP的web服務。只要我COPY(就是這樣!)作爲gSOAP文檔提供的代碼,它就可以正常工作。試圖添加一些功能,我碰到了很多困難!我對OpenSSL庫沒有很好的瞭解,所以我想在這裏尋求幫助。 我應該添加一個CRL列表來檢查客戶端發送的證書。我該怎麼做?而且,我改變了soap.fsslverify指出的這個功能:gSoap + SSL:CRL和證書名稱檢查
int servlet_fsslverify(int ok, X509_STORE_CTX *store)
{
ok = 1;
char buf[1024];
X509 *cert = X509_STORE_CTX_get_current_cert(store);
fprintf(stderr, "SSL verify error or warning with certificate at depth %d: %s\n",
X509_STORE_CTX_get_error_depth(store),
X509_verify_cert_error_string(X509_STORE_CTX_get_error(store)));
X509_NAME_oneline(X509_get_issuer_name(cert), buf, sizeof(buf));
fprintf(stderr, "certificate issuer %s\n", buf);
X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf));
fprintf(stderr, "certificate subject %s\n", buf);
/* Note: return 1 to continue, but unsafe progress will be terminated by OpenSSL */
return ok;
}
每次客戶端嘗試進行身份驗證時都會調用它。正如你所看到的,我可以檢查客戶證書中的字段,但我真的不知道如何檢查特定證書是否存在或不在CRL中。 就是這樣,非常感謝每個人都會很高興回答。