Hi Bruce,
I' m come back to you about this topic.
In the last days i try to play with your example and all seem work fine, but now i' m again lost
I receive from a supplyer the following encrypt data. Dare are encode in base64  encode  and encrypted with AES-128 ECB mode .
Key is &E)H@McQfTjWnZr4
I try to
- decode base64
- convert from ascii to ebcdic
- decrypt it
But it's does not work.
I try also
- decode base64
- decrypt  it
- convert from ascii to ebcdic
Nothing again.
Have you any idea ?
Thanks a lot for your contribution
ENCRYPTED TEXT
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
result
12345620181021Contattaci                              Sig.ra    Mario                                   Rossi                                   mario.rossi@xxxxxxxxx<mailto:mario.rossi@xxxxxxxxx>                                                                               +39 0110262750                0100                          SJNFCAF15U7200581FC075EA   Nissan              Juke                                    Activa 1.8 STY Benzina                  100000,0020190121999999
https://rotalnordauto.concessionarienissan.it/it/veicoli/nissan/juke/15-dci-acenta-s1bv9d33                                                                                                             Servizi richiesti                                 20190121Testo del messaggio relativo al veicolo o servizio.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     YY
Basilio MERLINO
Phone: +39-0690808577
Mobile: +39-3484152040
Il 02/02/2019 09:43, Merlino, Basilio (NissanContractor) ha scritto:
Fantastic Bruce I ll try it and let you know
Thanks for your support on this
Basilio
Il 1 feb 2019 21:03, Bruce Vining <bruce.vining@xxxxxxxxx><mailto:bruce.vining@xxxxxxxxx> ha scritto:
I hope that the supplier can provide you with the specifics of their
encryption. The referenced site aes.online-domain-tools.com site is a bit
vague on a few points.
What I needed to do is use hex input for the text and key (as neither were
multiples of 16 bytes), along with specifying the following values:
Input type: Text
Input text (hex) : 48454c4c4f204259204d452020202020
Function: AES
Mode: ECB
Key (hex) : 656e6372797074696f6e206b65790000
The site doesn't mention what text padding it does for AES though on the i
I tried both blank and null padding of the text field, neither of which
generated the same encrypted value the tool did
(x'8c5dacb236d9576289b05e6e58ab94cd'). Using hardcoded text blanks (x'20'
for ASCII) for the input text did work. The site does mention "If you don't
specify a key with permitted length the key is prolonged with the proper
number of null bytes at the end", however I again only found the correct
value being generated when I used hex input of the key (and not just
'encryption key'). I did also find that using text of 'HELLO BY ME12345'
and a key of 'encryption key12' (causing no padding of either element) also
worked, so there's something about the site padding that I'm missing...).
The site also prompts for an initialization vector, which is not supported
by Qc3EncryptData.
The following program did, using eval ASCIIEncTxt, generate the same
'8C5DACB236D9576289B05E6E58AB94CD' value as the tool.
h dftactgrp(*no)
d ConvClose       pr            10i 0 extproc('iconv_close')
d  iconv                        52a   value
d ConvOpen        pr            52a   extproc('iconv_open')
d  ToCode                       32a   const
d  FromCode                     32a   const
d ConvText        pr            10i 0 extproc('iconv')
d  iconv                        52a   value
d  InpBfr                         *   const
d  InBfrLeft                    10i 0
d  OutBfr                         *   const
d  OutBfrLft                    10i 0
d Encrypt         pr                  extproc('Qc3EncryptData')
d  ClrDta                       16a
d  LenClrDta                    10i 0 const
d  FmtClrDta                     8a   const
d  ALGD0200                           const likeds(ALGD0200)
d  FmtAlg                        8a   const
d  KEYD0200                           const likeds(KEYD0200)
d  FmtKey                        8a   const
d  CryptoPrv                     1a   const
d  CryptoDev                    10a   const
d  EncDta                       16a
d  LenPrvEncDta                 10i 0 const
d  BytRtnEncDta                 10i 0
d  ErrCde                             likeds(QUSEC)
d ALGD0200        ds
d  BlkCphrAlg                   10i 0
d  BlkLen                       10i 0
d  Mode                          1a
d  PadOpt                        1a   inz('0')
d  PadChr                        1a   inz(x'00')
d  Rsvd                          1a   inz(x'00')
d  LenMAC                       10i 0 inz(x'00')
d  EffKeySiz                    10i 0 inz(0)
d  InzVector                    32a   inz(*allx'00')
d FromCode        ds
d                                8a   inz('IBMCCSID')
d  FromCCSID                     5a   inz('00037')
d  ConvAlt                       3a   inz('000')
d  SubAlt                        1a   inz('0')
d  SSAlt                         1a   inz('0')
d  InpLenOpt                     1a   inz('0')
d  ErrOptMxd                     1a   inz('0')
d                               12a   inz(*allx'00')
d KEYD0200        ds
d  KeyType                      10i 0
d  KeyLen                       10i 0
d  KeyFmt                        1a   inz('0')
d                                3a   inz(*allx'00')
d  ASCIIKey                     16a
d ToCode          ds
d                                8a   inz('IBMCCSID')
d  ToCCSID                       5a   inz('00819')
d                               19a   inz(*allx'00')
d ASCIIClrTxt     s             16a
d ASCIIClrTxtPtr  s               *   inz(%addr(ASCIIClrTxt))
d ASCIIEncTxt     s             16a
d ASCIIKeyPtr     s               *   inz(%addr(ASCIIKey))
d ConvErr         s             10i 0
d EBCClrTxt       s             16a   inz('HELLO BY ME')
d EBCClrTxtPtr    s               *   inz(%addr(EBCClrTxt))
d EBCKey          s             16a
d EBCKeyPtr       s               *   inz(%addr(EBCKey))
d InBfrLeft       s             10i 0
d LenRtnd         s             10i 0
d OutBfrLeft      s             10i 0
 /copy qsysinc/qrpglesrc,iconv
 /copy qsysinc/qrpglesrc,qusec
 /free
  EBCKey = 'encryption key' + x'0000';
  iconv = ConvOpen(ToCode :FromCode);
  InBfrLeft = %size(EBCClrTxt);
  OutBfrLeft = %size(ASCIIClrTxt);
  ConvErr = ConvText(iconv :EBCClrTxtPtr :InBfrLeft
                     :ASCIIClrTxtPtr :OutBfrLeft);
  InBfrLeft = %size(EBCKey);
  OutBfrLeft = %size(ASCIIKey);
  ConvErr = ConvText(iconv :EBCKeyPtr :InBfrLeft
                     :ASCIIKeyPtr :OutBfrLeft);
  ConvErr = ConvClose(iconv);
  BlkCphrAlg = 22;                      // AES
  BlkLen = 16;
  Mode = '0';                           // ECB
  KeyType = 22;
  KeyLen = 16;
  QUSBPrv = %size(QUSEC);
  Encrypt(ASCIIClrTxt :%size(ASCIIClrTxt) :'DATA0100'
          :ALGD0200 :'ALGD0200'
          :KEYD0200 :'KEYD0200' :'0' :' '
          :ASCIIEncTxt :%size(ASCIIEncTxt) :LenRtnd :QUSEC);
  *inlr = *on;
  return;
 /end-free
I hope this helps,
Bruce
On Fri, Feb 1, 2019 at 8:06 AM Bruce Vining <bruce.vining@xxxxxxxxx><mailto:bruce.vining@xxxxxxxxx> wrote:
Give me a few minutes and I'll write up a little program mimicking your
website solution. But I can tell you that you have several problems in
regard to the actual file decryption approach.
On Fri, Feb 1, 2019 at 8:04 AM Merlino, Basilio (NissanContractor) <
b.merlino-extern@xxxxxxxxx<mailto:b.merlino-extern@xxxxxxxxx>> wrote:
Hi Bruce,
Thanks for your support, below my answer
1. Are you using binary when FTPing the file?
   No but in any case the issue is  present also when i decrypt the text
"HELLO BY ME" and compare it
2. How are you opening the file?
3. What is the CCSID of the system providing the decryption key?
   It's a unix system
4. When you say you "convert string from ebcdic to ascii" are you
referring
to the decryption key?
   No to the text "HELLO BY ME"
5. How do you detect that the decryption failed? Using debug of the text
or
by examining an output file?
   Debug and compare the value  with the result of
http://rc4.online-domain-tools.com/
Basilio MERLINO
Phone: +39-0690808577
Mobile: +39-3484152040
Il 01/02/2019 14:50, Bruce Vining ha scritto:
First a few questions:
1. Are you using binary when FTPing the file?
2. How are you opening the file?
3. What is the CCSID of the system providing the decryption key?
4. When you say you "convert string from ebcdic to ascii" are you
referring
to the decryption key?
5. How do you detect that the decryption failed? Using debug of the text
or
by examining an output file?
Bruce
On Fri, Feb 1, 2019 at 7:29 AM Jay Vaughn <jeffersonvaughn@xxxxxxxxx<mailto:jeffersonvaughn@xxxxxxxxx>
<mailto:jeffersonvaughn@xxxxxxxxx><mailto:jeffersonvaughn@xxxxxxxxx> wrote:
Curious to see suggestions on this one.
I have nothing, sorry.
But just curious why the data wasn’t sftp’d to you instead?  But I’m sure
I just don’t see the whole picture of what you are working on.
Jay
On Feb 1, 2019, at 8:18 AM, Merlino, Basilio (NissanContractor) <
b.merlino-extern@xxxxxxxxx<mailto:b.merlino-extern@xxxxxxxxx><mailto:b.merlino-extern@xxxxxxxxx><mailto:b.merlino-extern@xxxxxxxxx>> wrote:
Dear All,
I need to decrypt some text related data coming from a supplier, i
receive the file in an ftp folder read text and decrypt it.
In order to decrypt the information i use Qc3DecryptData (AES OR RC4
alghoritym), unforntunately i encoured in the following problem
First of all let's me say that i was not able to decrypt the data coming
from vendor so i try to understand where the problem was
First of all i have written a program that encrypt and decrypt the
phrase "HELLO BY ME"  with key "key encryption" and it's work fine.
I compare the result with the one coming from the following url
http://rc4.online-domain-tools.com/
and the two values doesn't match.
So my first assumption was that there is a difference beetwen ebcdic and
ascii transcodification so i try to
- convert string from ebcdic to ascii
- run encryption
but again the two values doesn't match
Anyone can direct me  ? any idea ?
Thanks to All
Basilio
***********************************************************************************************************
CONFIDENTIALITY NOTICE
This message is for the named person's use only.  It may contain
confidential, proprietary or legally privileged information.
If you receive this message in error, please immediately delete it and
all copies of it from your system, destroy any hard copies of it and
notify
us by email to email.security@xxxxxxxxxxxxxxxxx<mailto:email.security@xxxxxxxxxxxxxxxxx><mailto:
email.security@xxxxxxxxxxxxxxxxx><mailto:email.security@xxxxxxxxxxxxxxxxx> with a copy of this
message. You must not, directly or indirectly, use, disclose, distribute,
print or copy any part of this message if you are not the intended
recipient. NISSAN EUROPE and any of its subsidiaries each reserves the
right to monitor all e-mail communications through its networks.
NISSAN EUROPE is neither liable for the proper, complete transmission of
the information contained in this communication nor any delay in its
receipt. This email was scanned for the presence of computer viruses. In
the unfortunate event of infection NISSAN EUROPE does not accept
liability.
Any views expressed in this message are those of the individual sender,
except where the message states otherwise and the sender is authorised to
state them.
***********************************************************************************************************
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxxxxxxxx><mailto:
RPG400-L@xxxxxxxxxxxxxxxxxx><mailto: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<mailto:RPG400-L-request@xxxxxxxxxxxxxxxxxx><mailto:
RPG400-L-request@xxxxxxxxxxxxxxxxxx><mailto: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<mailto:support@xxxxxxxxxxxx><mailto:support@xxxxxxxxxxxx><mailto: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 the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxxxxxxxx><mailto:
RPG400-L@xxxxxxxxxxxxxxxxxx><mailto: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<mailto:RPG400-L-request@xxxxxxxxxxxxxxxxxx><mailto:
RPG400-L-request@xxxxxxxxxxxxxxxxxx><mailto: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<mailto:support@xxxxxxxxxxxx><mailto:support@xxxxxxxxxxxx><mailto:support@xxxxxxxxxxxx> for any
subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: 
https://amazon.midrange.com
***********************************************************************************************************
CONFIDENTIALITY NOTICE
This message is for the named person's use only.  It may contain
confidential, proprietary or legally privileged information.
If you receive this message in error, please immediately delete it and
all copies of it from your system, destroy any hard copies of it and notify
us by email to email.security@xxxxxxxxxxxxxxxxx<mailto:email.security@xxxxxxxxxxxxxxxxx> with a copy of this
message. You must not, directly or indirectly, use, disclose, distribute,
print or copy any part of this message if you are not the intended
recipient. NISSAN EUROPE and any of its subsidiaries each reserves the
right to monitor all e-mail communications through its networks.
NISSAN EUROPE is neither liable for the proper, complete transmission of
the information contained in this communication nor any delay in its
receipt. This email was scanned for the presence of computer viruses. In
the unfortunate event of infection NISSAN EUROPE does not accept liability.
Any views expressed in this message are those of the individual sender,
except where the message states otherwise and the sender is authorised to
state them.
***********************************************************************************************************
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto: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<mailto: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<mailto:support@xxxxxxxxxxxx> for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: 
https://amazon.midrange.com
--
Thanks and Regards,
Bruce
931-505-1915
--
Thanks and Regards,
Bruce
931-505-1915
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto: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<mailto: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<mailto:support@xxxxxxxxxxxx> for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: 
https://amazon.midrange.com
***********************************************************************************************************
CONFIDENTIALITY NOTICE
This message is for the named person's use only.  It may contain confidential, proprietary or legally privileged information.
If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify us by email to email.security@xxxxxxxxxxxxxxxxx<mailto:email.security@xxxxxxxxxxxxxxxxx> with a copy of this message. You must not, directly or indirectly, use, disclose, distribute, print or copy any part of this message if you are not the intended recipient. NISSAN EUROPE and any of its subsidiaries each reserves the right to monitor all e-mail communications through its networks.
NISSAN EUROPE is neither liable for the proper, complete transmission of the information contained in this communication nor any delay in its receipt. This email was scanned for the presence of computer viruses. In the unfortunate event of infection NISSAN EUROPE does not accept liability.
Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorised to state them.
***********************************************************************************************************
***********************************************************************************************************
CONFIDENTIALITY NOTICE
 
This message is for the named person's use only.  It may contain confidential, proprietary or legally privileged information.
 
If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify us by email to email.security@xxxxxxxxxxxxxxxxx with a copy of this message. You must not, directly or indirectly, use, disclose, distribute, print or copy any part of this message if you are not the intended recipient. NISSAN EUROPE and any of its subsidiaries each reserves the right to monitor all e-mail communications through its networks.
 
NISSAN EUROPE is neither liable for the proper, complete transmission of the information contained in this communication nor any delay in its receipt. This email was scanned for the presence of computer viruses. In the unfortunate event of infection NISSAN EUROPE does not accept liability.
 
Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorised to state them.
***********************************************************************************************************
As an Amazon Associate we earn from qualifying purchases.