Description
Since commit 7e96b8b, Travis unit tests have been failing. The tests fail when there is an equality test between leaf certificates. I believe that this bug is not due to some bug in smimesign after some troubleshooting.
Expected Behavior
Unit tests should pass on all versions of golang
Current Behavior
Several unit tests fail when testing against the development branch of golang. This occurs when comparing two leaf certificates. After troubleshooting I found that the first handful of bytes match between the two certs (so I assume that they are the same cert). However, the length does not match, and the length does not match the results when testing against the other versions of golang. In all local tests, and in the golang 1.12 and 1.14 tests in Travis, both certs are 842 bytes in length. In the Travis unit tests using the devel branch of golang, the certs are 866 bytes in length for the cert parsed from signed data, and 875 bytes for the test cert used to generate the signed data.
There doesn't seem to be any issues in creating signed data, parsing the content or reading certs from signed data.
Possible Solution
Because both the cert used to sign (Unmodified since generation), and the cert recovered from the signed data both have different lengths, I believe this issue likely did not originate from a bug in this project. I cannot offer any possible solutions currently but will continue to troubleshoot this issue.
Steps to Reproduce
Link to latest failed Travis run
- Trigger a Travis test using the
go: master
configuration
Context (Environment)
This issue has not affected me in my use of smimesign on Windows using go version 1.14.6 (64 bit), and it does not seem to affect other platforms using the latest version of go either. Unit tests are run on OSX only and I have not had a chance to swap platforms.