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



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.