Bab*_*ham 17 sockets ssl qt openssl pkcs#12
我正在尝试在我的Qt应用程序中解压缩我的pkcs12文件 - 但没有运气.我正在构建一个Qt控制台应用程序(禁用GUI).
(我遵循了这个指南:https://github.com/trueos/sysadm-ui-qt/blob/master/src-qt5/gui_client/SSLNotes.txt)
Pkcs12创建命令:
"openssl req -newkey rsa:2048 -nodes -keyout test_key.pem"
"openssl req -key test_key -new -x509 -out test_crt.crt"
"openssl pkcs12 -inkey test_key.pem -in test_crt.crt -export -passout stdin -out new.pfx"
Run Code Online (Sandbox Code Playgroud)
Qt代码:
QString password="1234";
QFile pkcs("/Users/test/Desktop/certs/new.pfx");
pkcs.open(QFile::ReadOnly);
QSslKey key;
QSslCertificate cert;
QList<QSslCertificate> imported_certs;
static bool import=QSslCertificate::importPkcs12(&pkcs,&key,&cert,&imported_certs,QByteArray::fromStdString(password.toStdString()));
pkcs.close();
qDebug()<<import;
Run Code Online (Sandbox Code Playgroud)
手动提取密钥和文件已使用openssl命令.
错误信息:
"Unimplemented Code."
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
尝试使用 Qt < 5.6,如 Qt 5.5。
在 Qt 5.6 中,Mac OS 平台上的默认 SSL 后端从 OpenSSL 更改为安全传输。
此问题已作为 Bug 填充:https ://bugreports.qt.io/browse/QTBUG-56596