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



I tried first executing chgjob ccsid(37) from command line and then
executed my program and still the decrypted value is not getting populated
in record field it's coming like below when i debug my program:-

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


and value assigned to '*encodedexchangetoken*' field is same only which i
pass when i interactively execute this command: please refer below values
which i compared in debug mode of my program code vs. the value which i
pass when i interactively execute this command in pase-

Evaluate Expression



Previous debug expressions



481 ' '

541 ' '

601 ' '

661 ' '

721 ' '

781 ' '

841 ' '

901 ' '

961 ' '

EVAL encodedExchangeToken

ENCODEDEXCHANGETOKEN =

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

1 'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW0ghflt9dNQNDpCcgMZiG/'

61 'kXPE4vv2CHL93B4iKiODHxxdVA=='


Bottom
Debug . . .



F3=Exit F9=Retrieve F12=Cancel F16=Repeat find F19=Left
F20=Right
F21=Command entry F23=Display output



Interactive pase session command and decrypted value which is shown on
console after executing this command:-

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


*707fbe32-0dbc-41e0-888f-5bc40de8c20d2P9AMPCTQ4CZ ¢ *



My program source code:-

| FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
F PLIST(UNIXPARM) usropn
FQSYSPRT O F 132 PRINTER
dencodedExcha...
dngeToken s 88
DSTRING1 S 100
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 = '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

***********


On Mon, Nov 4, 2019 at 10:11 PM Kevin Bucknum <Kevin@xxxxxxxxxxxxxxxxxxx>
wrote:

I have no idea if you need to do it or not. If you do, then you have to do
it on the IBM i side of things. CHGJOB is not a PASE command. Do it
interactively before you run your program. Wrap your RPG program in a CL
that does it. Do it the RPGLE program by calling QCMDEXC. There are lots of
ways to do it, but you can't pass it to UNIXCMD to run on the PASE side.

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of
Rishi Seth
Sent: Monday, November 04, 2019 2:48 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: parsing varying length field from XML file using RPGLE program

But dö i not need to do chgjob ccsid(37) programatically anyway as the
same before executing that long command in påse (UNIX Environment) I mean
to get that decrypted value i follow these interactive steps :- 1. Chgjob
ccsid(37).

2.Call Qsys/QP2TERM.

3.then I execute that long OPENSSL command.) and then i receive that
decrypted value.

On Mon, Nov 4, 2019, 20:04 Kevin Bucknum <Kevin@xxxxxxxxxxxxxxxxxxx>
wrote:

That’s because you aren't building your string up anymore Go back to
the code where you built the string, but remove that CHGJOB portion.
Again, if when you get to the OPEN UNIX line in your program and you
look at the value of CMD, if it is anything other than what you type
interactively, then you can't expect to get the same results.

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf
Of Rishi Seth
Sent: Monday, November 04, 2019 8:33 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: parsing varying length field from XML file using RPGLE
program

actually before calling his program evenif i separately call it from
command line like chgjob ccsid and then compile my below code then in
record variable i don\t find decrypted value as expected and it gives
below
value>/



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




for below program code:-

FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
F PLIST(UNIXPARM) usropn
FQSYSPRT O F 132 PRINTER
dencodedExcha...
dngeToken s 88
DSTRING1 S 100
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 = '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

Thanks


On Mon, Nov 4, 2019 at 3:09 PM Kevin Bucknum
<Kevin@xxxxxxxxxxxxxxxxxxx>
wrote:

Run chgjob ccsid(37) interactively in Qshell. You will get that same
error. That is not a Qshell command. That is an IBM I command. What
is your job CCSID to start with?

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On
Behalf Of Rishi Seth
Sent: Monday, November 04, 2019 7:39 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: parsing varying length field from XML file using RPGLE
program

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/kXPE4vv
2C HL 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
/r pg -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 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


[https://www.medtronsoftware.com/img/MedtronMinilogo.bmp] Kevin
Bucknum
Senior Programmer Analyst
MEDDATA / MEDTRON
120 Innwood Drive
Covington LA 70433
Local: 985-893-2550
Toll Free: 877-893-2550
https://www.medtronsoftware.com



CONFIDENTIALITY NOTICE

This document and any accompanying this email transmission contain
confidential information, belonging to the sender that is legally
privileged. This information is intended only for the use of the
individual or entity named above. The authorized recipient of this
information is prohibited from disclosing this information to any
other party and is required to destroy the information after its
stated need has been fulfilled. If you are not the intended
recipient, or the employee of agent responsible to deliver it to the
intended recipient, you are hereby notified that any disclosure,
copying, distribution or action taken in reliance on the contents of
these documents is STRICTLY PROHIBITED. If you have received this
email in error, please notify the sender immediately to arrange for
return or destruction of these documents.
--
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


[https://www.medtronsoftware.com/img/MedtronMinilogo.bmp] Kevin
Bucknum
Senior Programmer Analyst
MEDDATA / MEDTRON
120 Innwood Drive
Covington LA 70433
Local: 985-893-2550
Toll Free: 877-893-2550
https://www.medtronsoftware.com



CONFIDENTIALITY NOTICE

This document and any accompanying this email transmission contain
confidential information, belonging to the sender that is legally
privileged. This information is intended only for the use of the
individual or entity named above. The authorized recipient of this
information is prohibited from disclosing this information to any
other party and is required to destroy the information after its
stated need has been fulfilled. If you are not the intended
recipient, or the employee of agent responsible to deliver it to the
intended recipient, you are hereby notified that any disclosure,
copying, distribution or action taken in reliance on the contents of
these documents is STRICTLY PROHIBITED. If you have received this
email in error, please notify the sender immediately to arrange for
return or destruction of these documents.
--
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


[https://www.medtronsoftware.com/img/MedtronMinilogo.bmp] Kevin Bucknum
Senior Programmer Analyst
MEDDATA / MEDTRON
120 Innwood Drive
Covington LA 70433
Local: 985-893-2550
Toll Free: 877-893-2550
https://www.medtronsoftware.com



CONFIDENTIALITY NOTICE

This document and any accompanying this email transmission contain
confidential information, belonging to the sender that is legally
privileged. This information is intended only for the use of the
individual or entity named above. The authorized recipient of this
information is prohibited from disclosing this information to any other
party and is required to destroy the information after its stated need has
been fulfilled. If you are not the intended recipient, or the employee of
agent responsible to deliver it to the intended recipient, you are hereby
notified that any disclosure, copying, distribution or action taken in
reliance on the contents of these documents is STRICTLY PROHIBITED. If you
have received this email in error, please notify the sender immediately to
arrange for return or destruction of these documents.
--
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.