[crypto]

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[crypto]

Alex Remily
I’m building Apache Commons Crypto from source on Mac OS HighSierra (10.13.3) and the CryptoRandom tests fail, apparently because of failure to load the underlying random number generation library.  All other tests pass.  I successfully built and tested on Ubuntu 16.04 in a similar development environment, so the problem seems isolated to my Mac.  Has anyone had a similar experience, or have any ideas why the Mac is exhibiting this behavior?  I’ve tested two versions of openssl, and both versions produced identical failures.

Best wishes,

Alex


[INFO] Scanning for projects...
[INFO]                                                                        
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Commons Crypto 1.1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven-3) @ commons-crypto ---
[INFO]
[INFO] --- build-helper-maven-plugin:3.0.0:parse-version (parse-version) @ commons-crypto ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (create-version-file) @ commons-crypto ---
[INFO] Using 'iso-8859-1' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-antrun-plugin:1.8:run (javadoc.resources) @ commons-crypto ---
[INFO] Executing tasks

main:
     [copy] Copying 2 files to /Users/Alex/Documents/git_repos/commons-crypto/target/apidocs/META-INF
[INFO] Executed tasks
[INFO]
[INFO] --- maven-remote-resources-plugin:1.5:process (process-resource-bundles) @ commons-crypto ---
[INFO]
[INFO] --- buildnumber-maven-plugin:1.4:create (default) @ commons-crypto ---
[INFO] Executing: /bin/sh -c cd '/Users/Alex/Documents/git_repos/commons-crypto' && 'git' 'rev-parse' '--verify' 'HEAD'
[INFO] Working directory: /Users/Alex/Documents/git_repos/commons-crypto
[INFO] Storing buildNumber: d69ef9556f44c076034add15feef1c5513248404 at timestamp: 2018-03-22 17:12:10-0400
[INFO] Storing buildScmBranch: master
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ commons-crypto ---
[INFO] Using 'iso-8859-1' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ commons-crypto ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 38 source files to /Users/Alex/Documents/git_repos/commons-crypto/target/classes
[INFO]
[INFO] --- maven-antrun-plugin:1.8:run (make) @ commons-crypto ---
[INFO] Executing tasks

make:
     [exec] "/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javah" -force -classpath target/classes -o target/jni-classes/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.h org.apache.commons.crypto.random.OpenSslCryptoRandomNative
     [exec] gcc -arch x86_64 -Ilib/inc_mac -I/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include -O2 -fPIC -mmacosx-version-min=10.5 -fvisibility=hidden -I/usr/local/include -I/usr/local/Cellar/openssl/1.0.2n/include -Ilib/include -I/usr/include -I"src/main/native/org/apache/commons/crypto/" -I"/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include/darwin" -I"target/jni-classes/org/apache/commons/crypto/cipher" -I"target/jni-classes/org/apache/commons/crypto/random" -c src/main/native/org/apache/commons/crypto/random/OpenSslCryptoRandomNative.c -o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslCryptoRandomNative.o
     [exec] "/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javah" -force -classpath target/classes -o target/jni-classes/org/apache/commons/crypto/cipher/OpenSslNative.h org.apache.commons.crypto.cipher.OpenSslNative
     [exec] gcc -arch x86_64 -Ilib/inc_mac -I/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include -O2 -fPIC -mmacosx-version-min=10.5 -fvisibility=hidden -I/usr/local/include -I/usr/local/Cellar/openssl/1.0.2n/include -Ilib/include -I/usr/include -I"src/main/native/org/apache/commons/crypto/" -I"/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include/darwin" -I"target/jni-classes/org/apache/commons/crypto/cipher" -I"target/jni-classes/org/apache/commons/crypto/random" -c src/main/native/org/apache/commons/crypto/cipher/OpenSslNative.c -o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslNative.o
     [exec] "/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/javah" -force -classpath target/classes -o target/jni-classes/org/apache/commons/crypto/OpenSslInfoNative.h org.apache.commons.crypto.OpenSslInfoNative
     [exec] gcc -arch x86_64 -Ilib/inc_mac -I/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include -O2 -fPIC -mmacosx-version-min=10.5 -fvisibility=hidden -I/usr/local/include -I/usr/local/Cellar/openssl/1.0.2n/include -Ilib/include -I/usr/include -I"src/main/native/org/apache/commons/crypto/" -I"/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include/darwin" -I"target/jni-classes/org/apache/commons/crypto/cipher" -I"target/jni-classes/org/apache/commons/crypto/random" -DVERSION='"1.1.0-SNAPSHOT"' -DPROJECT_NAME='"Apache Commons Crypto"' -I"target/jni-classes/org/apache/commons/crypto" -c src/main/native/org/apache/commons/crypto/OpenSslInfoNative.c -o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslInfoNative.o
     [exec] g++ -arch x86_64 -Ilib/inc_mac -I/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include -O2 -fPIC -mmacosx-version-min=10.5 -fvisibility=hidden -I/usr/local/include -I/usr/local/Cellar/openssl/1.0.2n/include -Ilib/include  -I/usr/include -I"/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/include/darwin" -I"target/jni-classes/org/apache/commons/crypto/cipher" -I"target/jni-classes/org/apache/commons/crypto/random" -o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/libcommons-crypto.jnilib target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslCryptoRandomNative.o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslNative.o target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/OpenSslInfoNative.o -dynamiclib -L/usr/local/lib
     [exec] clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
     [exec] strip -x target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/libcommons-crypto.jnilib
     [exec] cp target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/libcommons-crypto.jnilib target/classes/org/apache/commons/crypto/native/Mac/x86_64/libcommons-crypto.jnilib
     [exec] cp target/commons-crypto-1.1.0-SNAPSHOT-Mac-x86_64/libcommons-crypto.jnilib target/classes/org/apache/commons/crypto/native/Mac/x86_64/libcommons-crypto.jnilib
[INFO] Executed tasks
[INFO]
[INFO] --- maven-bundle-plugin:3.4.0:manifest (bundle-manifest) @ commons-crypto ---
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.16:check (checkAPIcompatibility) @ commons-crypto ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java17:1.0
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ commons-crypto ---
[INFO] Using 'iso-8859-1' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/Alex/Documents/git_repos/commons-crypto/src/test/resources
[INFO] Copying 2 resources to META-INF
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ commons-crypto ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 38 source files to /Users/Alex/Documents/git_repos/commons-crypto/target/test-classes
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.7.201606060606:prepare-agent (prepare-agent) @ commons-crypto ---
[INFO] argLine set to -javaagent:/Users/Alex/.m2/repository/org/jacoco/org.jacoco.agent/0.7.7.201606060606/org.jacoco.agent-0.7.7.201606060606-runtime.jar=destfile=/Users/Alex/Documents/git_repos/commons-crypto/target/jacoco.exec,excludes=**/examples/*
[INFO]
[INFO] --- maven-surefire-plugin:2.20.1:test (default-test) @ commons-crypto ---
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.commons.crypto.CryptoTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.063 s - in org.apache.commons.crypto.CryptoTest
[INFO] Running org.apache.commons.crypto.stream.CtrNoPaddingCipherStreamTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.312 s - in org.apache.commons.crypto.stream.CtrNoPaddingCipherStreamTest
[INFO] Running org.apache.commons.crypto.stream.CbcPkcs5PaddingCipherStreamTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.079 s - in org.apache.commons.crypto.stream.CbcPkcs5PaddingCipherStreamTest
[INFO] Running org.apache.commons.crypto.stream.CtrCryptoStreamTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.064 s - in org.apache.commons.crypto.stream.CtrCryptoStreamTest
[INFO] Running org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.035 s - in org.apache.commons.crypto.stream.PositionedCryptoInputStreamTest
[INFO] Running org.apache.commons.crypto.stream.CbcNoPaddingCipherStreamTest
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 s - in org.apache.commons.crypto.stream.CbcNoPaddingCipherStreamTest
[INFO] Running org.apache.commons.crypto.cipher.CryptoCipherFactoryTest
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in org.apache.commons.crypto.cipher.CryptoCipherFactoryTest
[INFO] Running org.apache.commons.crypto.cipher.JceCipherTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 s - in org.apache.commons.crypto.cipher.JceCipherTest
[INFO] Running org.apache.commons.crypto.cipher.OpenSslCipherTest
[INFO] Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in org.apache.commons.crypto.cipher.OpenSslCipherTest
[INFO] Running org.apache.commons.crypto.cipher.GcmCipherTest
[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 s - in org.apache.commons.crypto.cipher.GcmCipherTest
[INFO] Running org.apache.commons.crypto.utils.UtilsTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s - in org.apache.commons.crypto.utils.UtilsTest
[INFO] Running org.apache.commons.crypto.utils.EnumTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s - in org.apache.commons.crypto.utils.EnumTest
[INFO] Running org.apache.commons.crypto.NativeCodeLoaderTest
** INFO: Native (JNI) code loaded successfully
[WARNING] Tests run: 5, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0.012 s - in org.apache.commons.crypto.NativeCodeLoaderTest
[INFO] Running org.apache.commons.crypto.jna.CtrCryptoJnaStreamTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.081 s - in org.apache.commons.crypto.jna.CtrCryptoJnaStreamTest
[INFO] Running org.apache.commons.crypto.jna.PositionedCryptoInputStreamJnaTest
[WARNING] Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.011 s - in org.apache.commons.crypto.jna.PositionedCryptoInputStreamJnaTest
[INFO] Running org.apache.commons.crypto.jna.CtrNoPaddingCipherJnaStreamTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.02 s - in org.apache.commons.crypto.jna.CtrNoPaddingCipherJnaStreamTest
[INFO] Running org.apache.commons.crypto.jna.OpenSslJnaCipherTest
[WARNING] Tests run: 13, Failures: 0, Errors: 0, Skipped: 13, Time elapsed: 0.004 s - in org.apache.commons.crypto.jna.OpenSslJnaCipherTest
[INFO] Running org.apache.commons.crypto.jna.CbcPkcs5PaddingCipherJnaStreamTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.02 s - in org.apache.commons.crypto.jna.CbcPkcs5PaddingCipherJnaStreamTest
[INFO] Running org.apache.commons.crypto.jna.OpenSslNativeJnaTest
** WARN: JNA could not be enabled: Error looking up function 'ENGINE_load_rdrand': dlsym(0x7fd119e3d2d0, ENGINE_load_rdrand): symbol not found
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s - in org.apache.commons.crypto.jna.OpenSslNativeJnaTest
[INFO] Running org.apache.commons.crypto.jna.CbcNoPaddingCipherJnaStreamTest
[WARNING] Tests run: 4, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 0.026 s - in org.apache.commons.crypto.jna.CbcNoPaddingCipherJnaStreamTest
[INFO] Running org.apache.commons.crypto.jna.OpenSslJnaCryptoRandomTest
[WARNING] Tests run: 2, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 0 s - in org.apache.commons.crypto.jna.OpenSslJnaCryptoRandomTest
[INFO] Running org.apache.commons.crypto.random.OpenSslCryptoRandomTest
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.007 s <<< FAILURE! - in org.apache.commons.crypto.random.OpenSslCryptoRandomTest
[ERROR] testRandomBytes(org.apache.commons.crypto.random.OpenSslCryptoRandomTest)  Time elapsed: 0.007 s  <<< ERROR!
java.security.GeneralSecurityException: CryptoRandom: [org.apache.commons.crypto.random.OpenSslCryptoRandom] failed with java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.security.GeneralSecurityException: Native library could not be initialised
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.UnsatisfiedLinkError: ENGINE_load_rdrand

[ERROR] testRandomBytesMultiThreaded(org.apache.commons.crypto.random.OpenSslCryptoRandomTest)  Time elapsed: 0 s  <<< ERROR!
java.security.GeneralSecurityException: CryptoRandom: [org.apache.commons.crypto.random.OpenSslCryptoRandom] failed with java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.reflect.InvocationTargetException
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.security.GeneralSecurityException: Native library could not be initialised
        at org.apache.commons.crypto.random.OpenSslCryptoRandomTest.getCryptoRandom(OpenSslCryptoRandomTest.java:37)
Caused by: java.lang.UnsatisfiedLinkError: ENGINE_load_rdrand

[INFO] Running org.apache.commons.crypto.random.JavaCryptoRandomTest
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.366 s - in org.apache.commons.crypto.random.JavaCryptoRandomTest
[INFO] Running org.apache.commons.crypto.random.OsCryptoRandomTest
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.401 s - in org.apache.commons.crypto.random.OsCryptoRandomTest
[INFO] Running org.apache.commons.crypto.random.CryptoRandomFactoryTest
[INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in org.apache.commons.crypto.random.CryptoRandomFactoryTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   OpenSslCryptoRandomTest>AbstractRandomTest.testRandomBytes:35->getCryptoRandom:37 » GeneralSecurity
[ERROR]   OpenSslCryptoRandomTest>AbstractRandomTest.testRandomBytesMultiThreaded:50->getCryptoRandom:37 » GeneralSecurity
[INFO]
[ERROR] Tests run: 113, Failures: 0, Errors: 2, Skipped: 36
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.558 s
[INFO] Finished at: 2018-03-22T17:12:23-04:00
[INFO] Final Memory: 35M/499M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test) on project commons-crypto: There are test failures.
[ERROR]
[ERROR] Please refer to /Users/Alex/Documents/git_repos/commons-crypto/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException