[ 
https://issues.apache.org/jira/browse/CRYPTO-115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967657#comment-15967657
 ] 

Dominique De Munck commented on CRYPTO-115:
-------------------------------------------

On my Windows system this makes two of the User Guide examples 
(CipherByteArrayExample.java and RandomExample.java) fail, which is kind of 
discouraging :). See (*)
For people who are stuck, you can just ignore adding the OPENSSL artefact as a 
factory to the properties variable:

        //properties.setProperty(CryptoCipherFactory.CLASSES_KEY, 
CipherProvider.OPENSSL.getClassName());

(*) Error I get:
Exception in thread "main" java.io.IOException: 
java.security.GeneralSecurityException: CryptoCipher 
{org.apache.commons.crypto.cipher.OpenSslCipher} is not available or 
transformation AES/CBC/PKCS5Padding is not supported.
        at 
org.apache.commons.crypto.utils.Utils.getCipherInstance(Utils.java:130)
        at 
com.vito.tap.util.encryption.EncryptionToolbox.main(EncryptionToolbox.java:47)
Caused by: java.security.GeneralSecurityException: CryptoCipher 
{org.apache.commons.crypto.cipher.OpenSslCipher} is not available or 
transformation AES/CBC/PKCS5Padding is not supported.
        at 
org.apache.commons.crypto.cipher.CryptoCipherFactory.getCryptoCipher(CryptoCipherFactory.java:176)
        at 
org.apache.commons.crypto.utils.Utils.getCipherInstance(Utils.java:128)
        ... 1 more
Caused by: java.lang.RuntimeException: 
java.lang.reflect.InvocationTargetException
        at 
org.apache.commons.crypto.utils.ReflectionUtils.newInstance(ReflectionUtils.java:90)
        at 
org.apache.commons.crypto.cipher.CryptoCipherFactory.getCryptoCipher(CryptoCipherFactory.java:160)
        ... 2 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at 
org.apache.commons.crypto.utils.ReflectionUtils.newInstance(ReflectionUtils.java:88)
        ... 3 more
Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Cannot 
load libcrypto.dll (126)!
        at 
org.apache.commons.crypto.cipher.OpenSslCipher.<init>(OpenSslCipher.java:59)
        ... 8 more
Caused by: java.lang.UnsatisfiedLinkError: Cannot load libcrypto.dll (126)!
        at org.apache.commons.crypto.cipher.OpenSslNative.initIDs(Native Method)
        at org.apache.commons.crypto.cipher.OpenSsl.<clinit>(OpenSsl.java:95)
        at 
org.apache.commons.crypto.cipher.OpenSslCipher.<init>(OpenSslCipher.java:57)
        ... 8 more


> Replace fixed DLL name #define with parameter?
> ----------------------------------------------
>
>                 Key: CRYPTO-115
>                 URL: https://issues.apache.org/jira/browse/CRYPTO-115
>             Project: Commons Crypto
>          Issue Type: New Feature
>            Reporter: Sebb
>
> At present, the OpenSSL dynamic library name is provided in the config.h 
> header file as conditional defines.
> This is not particularly convenient as the default name for a given version 
> of the library may be different - for example on Windows, the DLL may be 
> released as libeay32.dll rather than libcrypto.dll.
> And it would be useful to be able to use different versions of the library 
> without needing to copy/rename files.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to