Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This is usually a version number quite similar to the BouncyCastle version.
|
|
http://yennicktrevels.com/blog/2013/10/11/automated-gradle-project-deployment-to-sonatype-oss-repository/
Using a 'spongycastle' subgroup (ie com.madgag.spongycastle) to give a useful
grouping, apparently this is legit:
https://docs.sonatype.org/display/Repository/Choosing+your+Coordinates
Also guard against missing gradle.properties for travis, which doesn't have
to do signing or uploading to sonatype.
|
|
|
|
I think "BC" here is a KeyStore format, not a provider.
Would be nice to not have to make this correction, but without
code changes, I think it wouldn't be easy to write a distingushing
ssed expression.
|
|
https://github.com/rtyley/spongycastle/blob/3040af/become-spongy.sh
|
|
These tests both fail with:
No CRLs found for issuer "CN=Test CA Certificate"
...none of the CRL files in the project contain that issuer so far as I can
see, so it's going to be difficult to meet that requirement.
CertPathValidatorTest currently fails with:
org.bouncycastle.jce.exception.ExtCertPathValidatorException: No CRLs found for issuer "CN=Test CA Certificate"
at org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCertA(RFC3280CertPathUtilities.java:1516)
at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:274)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:279)
at org.bouncycastle.jce.provider.test.CertPathValidatorTest.performTest(CertPathValidatorTest.java:281)
at org.bouncycastle.util.test.SimpleTest.perform(SimpleTest.java:49)
at org.bouncycastle.jce.provider.test.AllTests.testJCE(AllTests.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:80)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:47)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.bouncycastle.jce.provider.AnnotatedException: No CRLs found for issuer "CN=Test CA Certificate"
at org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCompleteCRLs(CertPathValidatorUtilities.java:1224)
at org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRL(RFC3280CertPathUtilities.java:1750)
at org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRLs(RFC3280CertPathUtilities.java:1986)
at org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCertA(RFC3280CertPathUtilities.java:1506)
... 45 more
org.bouncycastle.jce.provider.test.AllTests > testJCE FAILED
junit.framework.AssertionFailedError: CertPathValidator: Exception: org.bouncycastle.jce.exception.ExtCertPathValidatorException: No CRLs found for issuer "CN=Test CA Certificate"
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.TestCase.fail(TestCase.java:227)
at org.bouncycastle.jce.provider.test.AllTests.testJCE(AllTests.java:32)
|
|
The keyfactory service doesn't seem to register, leading to a
NoSuchAlgorithmException.
|
|
On Android, the dependencies make supporting bc-mail very hard.
Previously I did an rm -Rf on the 'mail' folder of bc, but actually,
just removing the include from settings is way more Git-friendly for
rebasing.
|
|
These are some of the files/dirs (that you wouldn't want to check-in to
source-control) that I see after getting the gradle-build going:
|
|
Pretty sure BouncyCastle needs OpenJDK to build and run tests
I don't know how to register the unsigned JCE provider on Oracle JDK,
OpenJDK doesn't seem to check.
try to make travis output clearer
http://stackoverflow.com/a/17942820/438886
The '--info' flag hopefully will stop travis builds from
dying from the no-output-in-10-minutes problem, but weirdly is
also the only thing that makes spongycastle tests pass...
https://twitter.com/rtyley/status/425373078084784128
https://travis-ci.org/rtyley/spongycastle/builds/17299026
|
|
If you run the Gradle build, you'd see TlsTestCase & DTLSTestCase cause
a build failure:
```
junit.framework.AssertionFailedError:
Class org.bouncycastle.crypto.tls.test.DTLSTestCase has no public
constructor TestCase(String name) or TestCase()
```
The reason is that both these testcases actually have two-arg constructors
(because they need a bunch of extra configuration data), so don't fit the
normal no-arg or one-arg constructor requirement of classes extending
`TestCase`.
The fix used here is to employ JUnit 'parameterized tests', rather than a
TestSuite:
https://github.com/junit-team/junit/wiki/Parameterized-tests
P.S. You can see also see the Gradle build failure in Travis CI here:
https://travis-ci.org/rtyley/spongycastle/builds/29981411#L1052-L1056
(this is why BC needs https://github.com/bcgit/bc-java/pull/80 !)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|