Victor Kimura
asked on
Paypal encryption buttons: Java error:
Hi,
I'm trying to run some shell program but I get the errors:
The bouncycastle files are in the paths of this file.
Here's the code:
What's wrong with the code or my paths?
Thank you,
Victor
I'm trying to run some shell program but I get the errors:
bash build-app2.sh
Be sure Java version is at least 1.4
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.5.el5_9-i386)
OpenJDK Client VM (build 23.7-b01, mixed mode)
CLASSPATH=
.:/home/myultrat/ssl/paypal/crypto-150/jars/bcprov-jdk14-124.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcpg-jdk14-124.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bctest-jdk14-124.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcmail-jdk14-124.jar
compiling java files ...
ButtonEncryption.java:16: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSException;
^
com/paypal/crypto/sample/ClientSide.java:26: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSEnvelopedData;
^
com/paypal/crypto/sample/ClientSide.java:27: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSEnvelopedDataGenerator;
^
com/paypal/crypto/sample/ClientSide.java:28: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSException;
^
com/paypal/crypto/sample/ClientSide.java:29: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSProcessableByteArray;
^
com/paypal/crypto/sample/ClientSide.java:30: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSSignedData;
^
com/paypal/crypto/sample/ClientSide.java:31: error: package org.bouncycastle.cms does not exist
import org.bouncycastle.cms.CMSSignedDataGenerator;
^
com/paypal/crypto/sample/ClientSide.java:32: error: package org.bouncycastle.openssl does not exist
import org.bouncycastle.openssl.PEMReader;
^
com/paypal/crypto/sample/ClientSide.java:33: error: package org.bouncycastle.util.encoders does not exist
import org.bouncycastle.util.encoders.Base64;
^
com/paypal/crypto/sample/ClientSide.java:67: error: cannot find symbol
CMSException
^
symbol: class CMSException
location: class ClientSide
ButtonEncryption.java:32: error: package org.bouncycastle.jce.provider does not exist
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
^
ButtonEncryption.java:116: error: cannot find symbol
catch (CMSException e)
^
symbol: class CMSException
location: class ButtonEncryption
com/paypal/crypto/sample/ClientSide.java:94: error: cannot find symbol
CMSSignedDataGenerator signedGenerator = new CMSSignedDataGenerator();
^
symbol: class CMSSignedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:94: error: cannot find symbol
CMSSignedDataGenerator signedGenerator = new CMSSignedDataGenerator();
^
symbol: class CMSSignedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:96: error: cannot find symbol
signedGenerator.addSigner( privateKey, certificate, CMSSignedDataGenerator.DIGEST_SHA1 );
^
symbol: variable CMSSignedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:103: error: cannot find symbol
CMSProcessableByteArray cmsByteArray = new CMSProcessableByteArray(data);
^
symbol: class CMSProcessableByteArray
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:103: error: cannot find symbol
CMSProcessableByteArray cmsByteArray = new CMSProcessableByteArray(data);
^
symbol: class CMSProcessableByteArray
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:108: error: cannot find symbol
CMSSignedData signedData = signedGenerator.generate(cmsByteArray, true, "BC");
^
symbol: class CMSSignedData
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:112: error: cannot find symbol
CMSEnvelopedDataGenerator envGenerator = new CMSEnvelopedDataGenerator();
^
symbol: class CMSEnvelopedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:112: error: cannot find symbol
CMSEnvelopedDataGenerator envGenerator = new CMSEnvelopedDataGenerator();
^
symbol: class CMSEnvelopedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:114: error: cannot find symbol
CMSEnvelopedData envData = envGenerator.generate( new CMSProcessableByteArray(signed),
^
symbol: class CMSEnvelopedData
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:114: error: cannot find symbol
CMSEnvelopedData envData = envGenerator.generate( new CMSProcessableByteArray(signed),
^
symbol: class CMSProcessableByteArray
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:115: error: cannot find symbol
CMSEnvelopedDataGenerator.DES_EDE3_CBC, "BC" );
^
symbol: variable CMSEnvelopedDataGenerator
location: class ClientSide
com/paypal/crypto/sample/ClientSide.java:129: error: cannot find symbol
byte[] stringBytes = Base64.encode(bytes);
^
symbol: variable Base64
location: class ClientSide
Note: com/paypal/crypto/sample/ClientSide.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
24 errors
Done!!!!!
The bouncycastle files are in the paths of this file.
Here's the code:
#!/bin/bash
#export CRYPTO_HOME="/x/home/dhan/java_client/crypto-124"
export CRYPTO_HOME="/home/myultrat/ssl/paypal/crypto-150"
if [ ! -d ${CRYPTO_HOME} ]; then
echo cannot find crypto distribution ...
return 1;
fi
CLASSPATH="."
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcprov-jdk14-124.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcpg-jdk14-124.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bctest-jdk14-124.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcmail-jdk14-124.jar"
export CLASSPATH
#JAVA=/x/contrib/j2sdk1.4.0/bin/java
#JAVAC=/x/contrib/j2sdk1.4.0/bin/javac
#JAR=/x/contrib/j2sdk1.4.0/bin/jar
JAVA=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/java
JAVAC=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/javac
JAR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/jar
echo
echo "Be sure Java version is at least 1.4"
$JAVA -version
echo ; echo ; #sleep 3
echo "CLASSPATH="
echo $CLASSPATH
echo
echo compiling java files ...
$JAVAC -g -classpath "$CLASSPATH" \
ButtonEncryption.java \
com/paypal/crypto/sample/*.java
echo "Done!!!!!"
What's wrong with the code or my paths?
Thank you,
Victor
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
@CEHJ, thank you! I noticed since you told me that that my filenames were incorrect.
So I corrected them.
I'm down to 6 errors. Something about package org.bouncycastle.openssl error. Where do I get this package?
Here's my build-app4.sh code:
Attaching as a file too.
build-app4.sh
So I corrected them.
I'm down to 6 errors. Something about package org.bouncycastle.openssl error. Where do I get this package?
bash build-app4.sh
Be sure Java version is at least 1.4
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.5.el5_9-i386)
OpenJDK Client VM (build 23.7-b01, mixed mode)
CLASSPATH=
.:/home/myultrat/ssl/paypal/crypto-150/jars/bcprov-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcpg-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bctest-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcmail-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcpkix-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcprov-debug-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcprov-ext-debug-jdk15on-150.jar:/home/myultrat/ssl/paypal/crypto-150/jars/bcprov-ext-jdk15on-150.jar
compiling java files ...
com/paypal/crypto/sample/ClientSide.java:32: error: cannot find symbol
import org.bouncycastle.openssl.PEMReader;
^
symbol: class PEMReader
location: package org.bouncycastle.openssl
com/paypal/crypto/sample/ClientSide.java:96: error: cannot find symbol
signedGenerator.addSigner( privateKey, certificate, CMSSignedDataGenerator.DIGEST_SHA1 );
^
symbol: method addSigner(PrivateKey,X509Certificate,String)
location: variable signedGenerator of type CMSSignedDataGenerator
com/paypal/crypto/sample/ClientSide.java:101: error: cannot find symbol
signedGenerator.addCertificatesAndCRLs(certStore);
^
symbol: method addCertificatesAndCRLs(CertStore)
location: variable signedGenerator of type CMSSignedDataGenerator
com/paypal/crypto/sample/ClientSide.java:108: error: no suitable method found for generate(CMSProcessableByteArray,boolean,String)
CMSSignedData signedData = signedGenerator.generate(cmsByteArray, true, "BC");
^
method CMSSignedDataGenerator.generate(CMSTypedData,boolean) is not applicable
(actual and formal argument lists differ in length)
method CMSSignedDataGenerator.generate(CMSTypedData) is not applicable
(actual and formal argument lists differ in length)
com/paypal/crypto/sample/ClientSide.java:113: error: cannot find symbol
envGenerator.addKeyTransRecipient(payPalCert);
^
symbol: method addKeyTransRecipient(X509Certificate)
location: variable envGenerator of type CMSEnvelopedDataGenerator
com/paypal/crypto/sample/ClientSide.java:114: error: method generate in class CMSEnvelopedDataGenerator cannot be applied to given types;
CMSEnvelopedData envData = envGenerator.generate( new CMSProcessableByteArray(signed),
^
required: CMSTypedData,OutputEncryptor
found: CMSProcessableByteArray,String,String
reason: actual and formal argument lists differ in length
Note: com/paypal/crypto/sample/ClientSide.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
6 errors
Done!!!!!
Here's my build-app4.sh code:
#!/bin/bash
#export CRYPTO_HOME="/x/home/dhan/java_client/crypto-124"
export CRYPTO_HOME=/home/myultrat/ssl/paypal/crypto-150
if test ! -d $CRYPTO_HOME; then
echo cannot find crypto distribution ...
return 1;
fi
CLASSPATH="."
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcprov-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcpg-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bctest-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcmail-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcpkix-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcprov-debug-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcprov-ext-debug-jdk15on-150.jar"
CLASSPATH="$CLASSPATH:$CRYPTO_HOME/jars/bcprov-ext-jdk15on-150.jar"
export CLASSPATH
#JAVA=/x/contrib/j2sdk1.4.0/bin/java
#JAVAC=/x/contrib/j2sdk1.4.0/bin/javac
#JAR=/x/contrib/j2sdk1.4.0/bin/jar
JAVA=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/java
JAVAC=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/javac
JAR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25/bin/jar
export JAVA
export JAVAC
export JAR
echo "Be sure Java version is at least 1.4"
$JAVA -version
echo ; echo ; #sleep 3
echo "CLASSPATH="
echo $CLASSPATH
echo compiling java files ...
$JAVAC -g -classpath "$CLASSPATH" \
ButtonEncryption.java \
com/paypal/crypto/sample/*.java
echo "Done!!!!!"
Attaching as a file too.
build-app4.sh
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
response from bouncycastle mailing list added.
:)
Well done to you for documenting the response from the BC people
Badly done to Paypal for not updating their BC code !
Well done to you for documenting the response from the BC people
Badly done to Paypal for not updating their BC code !
ASKER
Open in new window
Is there a way for me to download the:
package org.bouncycastle.cms
manually and then compile. If so, how?
I see in the bouncycastle site docs that package is described:
http://www.bouncycastle.org/docs/pkixdocs1.5on/index.html
The ClientSide.java file has other problems.
These are the import statements for this file:
Open in new window
ButtonEncryption.javaClientSide.java