× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Rishi,

Take a look at these two strings. Do you see any difference?> EVAL cmd

1.    CMD =
2.              ....5...10...15...20...25...30...35...40...45...50...55...60
3.         1   'echo u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcg'
4.        61   'MZiG/kXPE4vv2CHL93B4iKiODHxxdVA==| openssl enc -d -aes-128-e'
5.       121   'cb -K 363631653237354f494d31554c594c4a -nopad -nosalt -base6'
6.       181   '4 -A -out record                                            '
7.       241   '                                                            '
8.       301   '                                                            '
9.       361   '                                                            '
10.       421   '                                                            '
11.       481   '                                                            '
12.       541   '                                                            '
13.       601   '                                                            '
14.                                                                         More...
15.
16. echo 'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL
17. 93B4iKiODHxxdVA==' | openssl enc -d -aes-128-ecb -K 363631653237354f494d31554
18. c594c4a -nopad -nosalt -base64 -A
19. 707fbe32-0dbc-41e0-888f-5bc40de8c20d2P9AMPCTQ4CZ                ¢


How about if I show them like this:

echo u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA==| openssl enc -d -aes-128-ecb -K 363631653237354f494d31554c594c4a -nopad -nosalt -base64 -A -out record

echo 'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA==' | openssl enc -d -aes-128-ecb -K 363631653237354f494d31554c594c4a -nopad -nosalt -base64 -A 707fbe32-0dbc-41e0-888f-5bc40de8c20d2P9AMPCTQ4CZ                ¢

They are not the same. When the 1st one matches the 2nd one, then if the 2nd one is working, the 1st one should also work.

--
*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
petercdow@xxxxxxxxx <mailto:petercdow@xxxxxxxxx>
pdow@xxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxx> /


On 11/6/2019 3:35 AM, Rishi Seth wrote:
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 record
RECORD =
....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 record
RECORD =

....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 thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.