小编gue*_*123的帖子

OpenSSL C API CRL检查

我正在尝试使用OpenSSL C API编写CertificatePathValidation测试.我目前正在测试已撤销的中间(ca-)证书.有两个测试用例:1.EndCert被撤销,2.SubCACert被撤销.我的代码部分:

FILE* fl = NULL;
int i;
for(i=0; i<crl_count; i++){
  fl = fopen(pem_crl_files[i],"r");
  x509 = PEM_read_X509_CRL(fl, NULL,0,NULL);
  X509_STORE_add_crl(store, x509);
  fclose(fl); 
}
X509_STORE_set_flags(store, X509_V_FLAG_CRL_CHECK);
Run Code Online (Sandbox Code Playgroud)

所以现在当我使用X509_V_FLAG_CRL_CHECK标志时,测试用例1工作正常,测试用例2失败(返回cert有效).如果我使用X509_V_FLAG_CRL_CHECK_ALL标志,则情况1和2都会失败.有谁知道我错过了什么?

c api ssl openssl certificate

3
推荐指数
1
解决办法
2700
查看次数

使用 sprintf 时出现循环错误

我正在尝试用 c 代码做一件简单的事情:

const char *files[4];
char buffer[50];
int i;
for(i = 0; i < 5; i++){
sprintf(buffer,"test%i%s", i, ".txt");
files[i] = buffer;
}
Run Code Online (Sandbox Code Playgroud)

文件输出:

test4.txt
test4.txt
test4.txt
test4.txt
test4.txt
Run Code Online (Sandbox Code Playgroud)

我真正想要实现的目标:

test0.txt
test1.txt
test2.txt
test3.txt
test4.txt
Run Code Online (Sandbox Code Playgroud)

谁能告诉我出了什么问题吗?(文件必须是 const char*)

c printf

1
推荐指数
1
解决办法
6950
查看次数

标签 统计

c ×2

api ×1

certificate ×1

openssl ×1

printf ×1

ssl ×1