在 OS X 应用程序中使用从源代码构建的 OpenSSL 库
Using the OpenSSL libraries built from source in an OS X app
我的 OS X 应用程序使用 OpenSSL 库,包括 libssl 和 libcrypto 库。它一直使用的特定版本的 OpenSSL 库是 OS X 中提供的版本,即 /usr/lib/libssl.dylib
和 /usr/lib/libcrypto.dylib
,目前版本为 OpenSSL 0.9.8zg,我的应用程序运行良好.
由于我想在我的应用程序中使用 TLS 1.2,并且 OS X 中提供的 OpenSSL 库在 OpenSSL 0.9.8zg 版本中不支持它,所以我想在版本中使用 OpenSSL 库OpenSSL 1.0.2d,在我的应用程序中的 OpenSSL 站点的源代码中可用。
为了将我的应用程序中的 OpenSSL 库升级到 OpenSSL 1.0.2d 版本,我从源代码构建了 OpenSSL 库并使用它们成功编译了我的应用程序。但是,生成的应用程序无法正常运行,我不知道为什么。 运行 生成的应用程序 SSL_connect() 始终返回错误,随后对 SSL_get_error() 的调用始终返回 SSL_ERROR_SSL。库是动态库或静态库就是这种情况。更奇怪的是,当我在构建我的应用程序时使用从源代码构建的 OpenSSL 0.9.8zg 库时,我得到了相同的结果。
有人对我面临的问题有解决方案或解释吗?
事实证明,我构建的OpenSSL库实际上没有问题。我遇到的问题是由证书引起的。由于某些原因,只有在使用新版本的 OpenSSL 时才会出现此问题。更换证书解决了问题。
我的 OS X 应用程序使用 OpenSSL 库,包括 libssl 和 libcrypto 库。它一直使用的特定版本的 OpenSSL 库是 OS X 中提供的版本,即 /usr/lib/libssl.dylib
和 /usr/lib/libcrypto.dylib
,目前版本为 OpenSSL 0.9.8zg,我的应用程序运行良好.
由于我想在我的应用程序中使用 TLS 1.2,并且 OS X 中提供的 OpenSSL 库在 OpenSSL 0.9.8zg 版本中不支持它,所以我想在版本中使用 OpenSSL 库OpenSSL 1.0.2d,在我的应用程序中的 OpenSSL 站点的源代码中可用。
为了将我的应用程序中的 OpenSSL 库升级到 OpenSSL 1.0.2d 版本,我从源代码构建了 OpenSSL 库并使用它们成功编译了我的应用程序。但是,生成的应用程序无法正常运行,我不知道为什么。 运行 生成的应用程序 SSL_connect() 始终返回错误,随后对 SSL_get_error() 的调用始终返回 SSL_ERROR_SSL。库是动态库或静态库就是这种情况。更奇怪的是,当我在构建我的应用程序时使用从源代码构建的 OpenSSL 0.9.8zg 库时,我得到了相同的结果。
有人对我面临的问题有解决方案或解释吗?
事实证明,我构建的OpenSSL库实际上没有问题。我遇到的问题是由证书引起的。由于某些原因,只有在使用新版本的 OpenSSL 时才会出现此问题。更换证书解决了问题。