× 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 consider this:

Dcl-s sq char(1) inz(''''); // 4 single quote
Dcl-s dq char(1) inz('"'); // 1 single + 1 double + 1 single

and then:

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

HTH
--
Marco Facchinetti

Mr S.r.l.

Tel. 035 962885
Cel. 393 9620498

Skype: facchinettimarco


Il giorno gio 7 nov 2019 alle ore 14:36 Rishi Seth <rishiseth99@xxxxxxxxx>
ha scritto:

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

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