- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Windows 7 和 Windows Embedded CE6.0(ARMV4I 平台)上使用 OpenSSL。
为此,我最初为 Windows 7 和我的 ARMV4I 平台自己编译了 OpenSSL 版本 0.9.8w。正在执行 openssl.exe
在两台机器上都能正常工作。
我编译mkcert.c它使用 libeay32.dll
我之前构建的。
在我的 Windows 7 机器上,一切正常,证书颁发正确。但是在 ARMV4I 设备上,我注意到日期(X509_get_notBefore(x)
和 X509_get_notAfter(x)
)是错误的:
X509_get_notBefore(x)
值为 150710093249Z
X509_get_notBefore(x)
值 39150810093249Z
并且差异始终是值 39000100000000
.这导致 Windows CE 上的有效性差异,现在是 Aug 10 09:32:49 3915 GMT
而不是 Jul 10 09:32:49 2015 GMT
.
后来我编译了OpenSSL 1.0.2c并执行了相同的代码,但问题仍然存在。
您知道为什么会发生这种情况以及如何解决它吗?
(一种可能的解决方法是在 Windows CE 上手动调整 ASN1_TIME:
#ifdef UNDER_CE
X509_gmtime_adj(notBefore,-39000100000000);
X509_gmtime_adj(notAfter,-39000100000000);
#endif
然后这需要分多个步骤发生 X509_gmtime_adj()
仅接受 long 类型的值作为第二个参数:
ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
我使用 Microsoft Visual Studio 2008 版本 3.5 SP1。
最佳答案
问题可以通过以下修复解决: github commit
关于c - Windows CE 6.0 上的 ASN1_TIME 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31339690/
目标 使用 ggplot2::scale_*_time 以特定方式格式化时间轴(使用最新版本的 ggplot2)。 最小 Reprex # Example data tib1 % dplyr:
下面是一个小数据集,我试图从中回答两个问题: 代理连接到 API 服务器需要多长时间? API 请求返回需要多长时间? 基本代码如下所示: $c = curl_init();
我是一名优秀的程序员,十分优秀!