【发布时间】:2016-09-23 09:39:15
【问题描述】:
我正在使用PEM_write_X509(x509*) 编写连接到 SSL 服务器时收到的证书。这在单线程环境中有效,但在多线程环境中失败。
PEM_write_X509_AUX() 和 PEM_write_X509() 有什么区别?
只使用write() 调用转储证书可以吗?
还有其他选项可以在多线程应用程序中写入证书文件吗?
【问题讨论】:
-
“这在单线程环境中工作,但在多线程环境中失败。” - 您可以显示安装锁的代码。但我认为没有它这些问题是可以回答的。就个人而言,我会解决多线程崩溃问题,因为您可能还有其他问题。应用中的崩溃可能只是一个症状或实例问题。
-
“只使用 write() 调用转储证书可以吗?” - 这是一个很大的问题。
X509*是一种内存数据结构。它是一种内部表示,并不意味着要序列化。如果你尝试,你会看到一些证书数据和很多指针。您需要像PEM_write_bio_X509这样的例程以 PEM 序列化,i2d_X509_bio以 ASN.1/DER 格式序列化。 -
是的。我完全同意....