马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[QUESTION]
如何分析tests.targets.security.cert.CertificateTest 2项 testVerifyMD2_chain testVerifyMD5_chain fail
[ANSWER]
Cts测试包中有对证书解析的测试,测试证书直接写在代码中,其中两个证书时间过期,导致cts测试失败。
解决方案:
1.前期由我们提供TR文档给客户,说明问题。
2.google在r13 cts测试包中已经修复该问题,直接使用r13进行跑cts可以通cts测试。
google修改文件:
diff --git a/luni/src/test/java/tests/targets/security/cert/CertificateTest.javaicfans b/luni/src/test/java/tests/targets/security/cert/CertificateTest.java
in
dex dd06249..8745f5e 100644
--- a/luni/src/test/java/tests/targets/security/cert/CertificateTest.java
+++ b/luni/src/test/java/tests/targets/security/cert/CertificateTest.jav
+++ a
@@ -31,6 +31,7 @@
imp
ort java.security.cert.PKIXParameters;
imp
ort java.security.cert.X509Certificate;
imp
ort java.util.ArrayList;
+import java.util.Calendar;
imp
ort java.util.List;
imp
ort junit.framework.TestCase;
imp
ort libcore.java.security.StandardNames;
@@ -739,6 +740,15 @@
PKIXParameters params;
params = new PKIXParameters(keyStore);
params.setRevocationEnabled(false);
+
+// All the tests are using pre-generated certificates with set expirations.
+ // In order to avoid the test failing when the certificates expire,
+ // explicitly set the time to check their validity against.
+ Calendar calendar = Calendar.getInstance();
+ calendar.clear();
+ calendar.set(2016, Calendar.JANUARY, 1);
+ params.setDate(calendar.getTime());
+
return params;
}
} 设
置时间为2016.1.1,作为参数传进入,使得之前过期的两项可以跑过。 |