|
Hi,
I tried the code present in below link and pasting debug mode values for
cmd and record field and result of same openssl command from interactive
way .
still unable to decrypt the value of 'encodedexchangetoken' from input
XML file whereas value of 'encodedexchangetoken' in both interactive way
and in a programmatic way both are same
could you please refer below link for more details:-
*https://code.midrange.com/24f7f3946e.html
<https://code.midrange.com/24f7f3946e.html>*
*Thanks*
---------- Forwarded message ---------
From: Rishi Seth <rishiseth99@xxxxxxxxx>
Date: Mon, Nov 4, 2019 at 2:39 PM
Subject: Re: parsing varying length field from XML file using RPGLE program
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
ok,after few corrections:-
Decrypted value using AES128 algorithm from a input xml file using RPGLE
program:-
Hi,
When I am trying to read input xml file which has 'encodedexchangetoken'
value in it then using AES128 algorithm interactively it works well like 1)
i issue chgjob ccsid(37) 2) then call qsys/qp2term 3) then i execute this
command :- echo
'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL
93B4iKiODHxxdVA==' | openssl enc -d -aes-128-ecb -K
363631653237354f494d31554
c594c4a -nopad -nosalt -base64 -A
which gives me decrypted value as
"707fbe32-0dbc-41e0-888f-5bc40de8c20d2P9AMPCTQ4CZ"
so the same functionality when i am trying to achieve using below RPGLE
program it gives me this error which i get during debug the value of record
field:-
revious debug expressions
EVAL recordRECORD =
....5...10...15...20...25...30...35...40...45...50...55...60
1 '/qopensys/usr/bin/sh: syntax error at line 1 : `(' unexpecte'
61 'd '
121 ' '
181 ' '
241 ' '
301 ' '
361 ' '
421 ' '
481 ' '
541 ' '
601 ' '
More...
Debug . . .
*********************''
RPGLE Program:-
FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
F PLIST(UNIXPARM) usropn
FQSYSPRT O F 132 PRINTER
dencodedExcha...
dngeToken s 88
D cmd s 5000a
D mode s 1A inz('P')
D record ds 1000
D outrec ds 132
C UNIXPARM PLIST
C PARM CMD
C PARM MODE
/free
XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+
/INPUT.xml':'doc=file case=any path=+
TokenExchangeResponse/encodedExchangeToken');
cmd = 'chgjob ccsid(37)&& +
echo ''' + encodedExchangeToken +''' ö openssl +
enc -d -aes-128-ecb -K +
363631653237354f494d31554c594c4a -nopad -nosalt +
-base64 -A -out record';
open UNIX;
read UNIX record;
dow not %eof(UNIX);
outrec = record;
write QSYSPRT outrec;
read UNIX record;
enddo;
close UNIX;
*inlr = *on;
/end-free
Note :- ö it's a pipe symbol during iseries trnsfer to pc it got converted
in this character.'
Thanks
On Mon, Nov 4, 2019 at 11:28 AM Rishi Seth <rishiseth99@xxxxxxxxx> wrote:
I think I don't need to make a string as in cmd in debug mode i can see
whole long command is coming but ideally value is record is not coming as
decrypted value.
it comes like below in debug mode also one ting i have noticed is that the
pipe symbol is not coming like '*|*' as I have coded in my program where
as in debug mode it gets converted like ' *¦* ':-
how did it get changed ?
That might be the cause of openssl is not working i guess?
Evaluate Expression
Previous debug expressions
EVAL recordRECORD =
....5...10...15...20...25...30...35...40...45...50...55...60
1 'encodedExchangeToken ¦ openssl enc -d -aes-128-ecb -K 363631'
61 '653237354f494d31554c594c4a -nopad -nosalt -base64 -A -out re'
121 'cord '
181 ' '
241 ' '
301 ' '
361 ' '
421 ' '
481 ' '
541 ' '
601 ' '
More...
Debug . . .
Thanks
On Sat, Nov 2, 2019 at 7:02 PM Sam_L <lennon_s_j@xxxxxxxxxxx> wrote:
RPG is great for building strings. You just use "+".
Take a look here:
https://www.code400.com/forum/forum/iseries-programming-languages/rpg-rpgle/10489-concat-message-into-one-string
.
You could build you cmd string in a series of statements and that might
make debugging easier.
*Something* like this:
cmd = 'echo ' + '''' ;
cmd = %trim(cmd) + encodedexchange;
cmd = %trim(cmd) + ' whatever'
etc etc etc
cmd =%trim(cmd) + '''';
In debug you can go line by line examine cmd and see if it has waht you
want.
%trim removes leading and trailing blanks.
You've not coded a lot of RPG, have you?
Sam
On 11/2/2019 1:16 AM, Rishi Seth wrote:
i don\t know how can i build string but i know cat opcode function and--
trimming % trim etc.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.