gpt4 book ai didi

无法使用 openssl 将 X509 对象读入临时文件以进行 Windows C 编程

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:38 25 4
gpt4 key购买 nike

int _tmain(int argc, _TCHAR* argv[])
{
X509 *x;
EVP_PKEY *pkey;
PKCS12 *p12;
STACK_OF(X509) *ca=NULL;
FILE *fp;
int code;



CRYPTO_malloc_init();
SSL_library_init();
SSL_load_error_strings();
ERR_load_BIO_strings();
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();


x = X509_new();


code = fopen_s(&fp,PRIVATE_CERTIFICATE, "rb");
//fp = fopen(PRIVATE_CERTIFICATE, "rb");

p12 = d2i_PKCS12_fp(fp, NULL);

fclose(fp);

if (!PKCS12_parse(p12, KEYPASS, &pkey, &x, &ca)) {
printf(" Error while parsing\n");
}
PKCS12_free(p12);

code = fopen_s(&fp,TEMP_STORE_CERTIFICATE, "w");



PEM_write_X509(fp, x);
fclose(fp);



//RSA Private Certificate
fp = fopen(TEMP_STORE_KEY_CERTIFICATE,"w");
PEM_write_PrivateKey(fp, pkey, NULL, NULL, 0, NULL, NULL);
fclose(fp);


return 0;
}

当执行到 PEM_write_X509 时,它会卡住并且不会继续。我猜,它进入了无限循环,并且执行不会超过那个。一个控制台只是打开它不会消失。有人请帮忙

最佳答案

fp 指向的文件以“rb”模式打开,其中 PEM_write_fp 将尝试写入已打开为读取模式的文件。在写入之前关闭文件并将其打开到写入模式。

而且,覆盖文件内容好像也不好。

关于无法使用 openssl 将 X509 对象读入临时文件以进行 Windows C 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com