我通过使用以下函数从客户端实现了 SSL 握手: SSL_CTX_load_verify_locations SSL_CTX_use_certificate_chain_file SSL_CTX_use_PrivateKey_file
所有函数都获取 char* 类型的文件名参数。 如何更改它以支持 unicode 文件位置?
谢谢!
最佳答案
在哪个平台上? Posix 下的 OpenSSL 支持 UTF-8 路径,但在其他平台上不支持。有可能,您必须使用支持 Unicode 路径的标准操作系统文件 I/O 函数自行手动加载证书文件,然后解析原始数据并将其加载到 OpenSSL 中,例如通过 PEM_read_bio_X509
使用sk_X509_NAME_push
、PEM_read_bio_PrivateKey/d2i_PrivateKey_bio
与 SSL_CTX_use_PrivateKey
、d2i_X509_bio/PEM_read_bio_X509
与 SSL_CTX_use_certificate
等.
关于security - 带有 unicode 路径的 OpenSSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401059/