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



one more strange thing is happening when I am just debugging and testing
only this value '
*u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA==*'
then in debug mode that pipe symbol automatically changes to some different
character and becomes like '*!'* or some times to some other different
character how is it happening it's very strange.
please see value got changed in debug mode:-

Display Module Source



Program: EX6 Library: RISHI Module: EX6

16 'W0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA=='''+

17 ' ! openssl enc -d -aes-128-ecb -K 363631653237354f494d'+

18 '31554c594c4a -nopad -nosalt -base64 -A -out record';

19 open UNIX;

20 read UNIX record;

21 dow not %eof(UNIX);

22 outrec = record;

23 write QSYSPRT outrec;

24 read UNIX record;

25 enddo;

26

27 close UNIX;

28 *inlr = *on;

29 /end-free




Bottom
Debug . . .


On Thu, Nov 7, 2019 at 10:57 AM Rishi Seth <rishiseth99@xxxxxxxxx> wrote:

Ok Thanks,

Got it but how can I insert that single quotes just before that '
*encodedtokenexchange'* field currently i am using below line in my
program code :-

cmd = 'echo' + ' ' + encodedExchangeToken + '| openssl +
enc -d -aes-128-ecb -K +
363631653237354f494d31554c594c4a -nopad -nosalt +
-base64 -A -out record';

and it has below value in debug mode:-


EVAL cmd

CMD =

....5...10...15...20...25...30...35...40...45...50...55...60

1 'echo u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcg'

61 'MZiG/kXPE4vv2CHL93B4iKiODHxxdVA==| openssl enc -d -aes-128-e'

121 'cb -K 363631653237354f494d31554c594c4a -nopad -nosalt -base6'

181 '4 -A -out record '

241 ' '

301 ' '

361 ' '

421 ' '


So how can I make it like below

echo
'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL
93B4iKiODHxxdVA==' | openssl enc -d -aes-128-ecb -K
363631653237354f494d31554
c594c4a -nopad -nosalt -base64 -A



On Wed, Nov 6, 2019 at 5:47 PM Peter Dow <petercdow@xxxxxxxxx> wrote:

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




--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
--
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 ...

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.