h DftActgrp(*NO) ActGrp(*Caller)
D Exc_Cmd PR extpgm('QCMDEXC')
D command 200A const
D length 15P 5 const
* Prototype for Java String Object
d crtString PR o EXTPROC(*JAVA:
d 'java.lang.String':
d *CONSTRUCTOR)
d RPGBytes 2000A Const Varying
* Prototype for Java String's getBytes method
d cvtToBytes PR 2000A EXTPROC(*JAVA:
d 'java.lang.String':
d 'getBytes')
d Varying
* RSADecryption Object
d RSADecryption_ s o Class(*JAVA:
d 'com.as400samplecode.RSA-
d Decryption')
* Prototype for RSADecryption Object
d RSADecryption PR o EXTPROC(*JAVA:
d 'com.as400samplecode.RSA-
d Decryption':
d *CONSTRUCTOR)
* Prototype for RSADecryption decrypt Method
d decrypt PR o EXTPROC(*JAVA:
d 'com.as400samplecode.RSA-
d Decryption':
d 'decrypt')
d Class (*JAVA:'java.lang.String')
d String o Class (*JAVA:'java.lang.String')
d Const
d String o Class (*JAVA:'java.lang.String')
d Const
d privKeyFile s o Class(*JAVA:'java.lang.String')
d encryptedData s o Class(*JAVA:'java.lang.String')
d outputData s o Class(*JAVA:'java.lang.String')
d $privKeyFile s 100a
d $encryptedData s 2000a
d $outputData s 100a
*
*----- Main Routine
*
/free
Exc_Cmd('CALL PGM(BCJAVAENV)': 200);
privKeyFile = crtString(%trim($privKeyFile));
encryptedData = crtString(%trim($encryptedData));
RSADecryption_ = RSADecryption();
outputData = decrypt(RSADecryption_:privKeyFile:encryptedData);
$outputData = cvtToBytes(outputData);
*inlr = *on;
return;
/end-free
*
*----- Initial Routine
*
c *inzsr begsr
/free
$privKeyFile = 'data/privateKey.txt';
$encryptedData =
'60cc8b36353da40c51b8ba0102966d92bd63c057fa3f5f47db912fe0be70' +
'52f66ce6c2083d3c01a370481dc8abe6bf51432733247257c927f6e412d1' +
'e2f7a462811e03fe1953f1d056067147e05b31183bd16b3d60ef5608d175' +
'752837bfc47a5c0ff6390a41e4b24dfdcefaee38d17f8480220cc01257a0' +
'b0035d0dcf307afc';
/end-free
c endsr
Setup my Java home and classpath: PGM(BCJAVAENV)
PGM
RMVENVVAR ENVVAR(JAVA_HOME)
MONMSG MSGID(CPF0000)
RMVENVVAR ENVVAR(CLASSPATH)
MONMSG MSGID(CPF0000)
CD DIR('/directory/EncryptionDecryption')
ADDENVVAR ENVVAR(JAVA_HOME) +
VALUE('/qibm/ProdData/Java400/jdk15')
ADDENVVAR ENVVAR(CLASSPATH) +
VALUE('.:/QIBM/ProdData/HTTP/Public/jt400/l+
ib/jt400.zip:/QIBM/ProdData/HTTP/Public/jt4+
00/utilities:/directory/EncryptionDecryptio+
n:/das/EncryptionDecryption/lib/bcprov-jdk1+
5-146.jar:/directory/EncryptionDecryption/l+
ib/log4j-1.2.16.jar')
ENDPGM
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.