validate-certs.zeek中主要调用x509_verify()这个函数进行证书链验证,而这是一个zeek内建函数,在安装好的zeek软件体中是找不到函数的实现的,Zeek_X509.functions.bif.zeek提供的调用接口。
找到zeek源码,zeek内建函数是通过.bif后缀的文件编译后实现的,.bif后缀的代码语言与c类似,不过尚没找到具体的语法格式。x509_verify()是在functions.bif中实现的。
functions.bif中调用了openssl库的x509与x509_vfy
x509_verify()中证书校验主要通过调用Openssl的API ,X509_verify_cert(X509_STORE_CTX *ctx)实现的。