Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Setup 2 cases for Pronto,

  1. Pronto with Loyalty: return Loyalty ID "7147616368
  2. Pronto with no Loyalty : SW 9001

because we get "9001" or "9102" from Pronto CX(which provided from customer), and we validated the result:

SWcontentcause
9001Success with no payloadthere is no any data from pass, and there is a credit card in Androidpay
9102Success without payload and not ready for paymentthere is no any data from pass, and there is no credit card in Androidpay

so I got SW 9102 becasue I do not setup a credit card in my Androidpay.

test with Terminal App and Merchant App

  1. To setup the information which provide from Pronto to Terminal app
    1. Download Pronto.json to Android phone
    2. open Terminal app
      Image Added
    3. click the setting symbol in the uppper right corner
    Image AddedImage Added
    1. click LOAD
    2. Image Added
    3. get the Pronto.json file 
      Image Added
    4. go back to Terminal App
      Image Added
  2. To setup the information which provide from Pronto to Merchant app
    1. Download test-cases-Pronto.json to Android phone
    2. click Merchant App
      Image Added
    3. click setting symbol in the upper left corner
      Image Added
    4. click LOAD TEST SUITE and load test-cases-Pronto.json
    5. create
      Image AddedImage Added
    6. long press to AVTIVATE test case
      Image Added
  3. tapping Merchant App to Terminal App, 2 app would show log.
    1. Pronto with Loyalty, SW = 9000
      Image AddedImage Added
    2. Pronto with nothing. SW = 9001
      Image AddedImage Added
  4. Pronto may need to setup some information for their pass, for example, I setup the Loyalty ID in Merchant App and I could read it back(SW 9000).
    Image Added

Task 1 Create Google Private Key

Download drive-download-20180207T222536Z-001.zip and extract to drive C:\CS-1630\20180208

...


C:\Users\Richard Cheng>cd c:\

c:\>cd "Program Files (x86)"

c:\Program Files (x86)>cd GnuWin32

c:\Program Files (x86)\GnuWin32>cd bin

c:\Program Files (x86)\GnuWin32\bin>openssl.exe ec -noout -text -in "c:\CS-1630\20180208\drive-download-20180207T222536Z-001\PRIVATE.key.pem"


There are 2 part in this private key, and we need to load priv part to reader, 

RSA Private Key:

3238682B00491F585E6D728DE13B5AE672C3D7E578D852563B1432A927CCDECA7655CEA2DB391F99FA55ED93CF6956AB9978D1BA9E73039355C40DFB3FF877BCFF55D9968BF1AD965D8DC8FD620C035C113D449F0B34A34C7BFF05330B376C7CE93A633D1B2DC5188CC332519ACAE06DAE8452265543A43F6BFC400336EBD20C0604C5497D416F113117A51F5736EFD471C16EEA993BAAE69F3A80B12DB6E8B7696423C7D661F236410DBD38DFC92FA1755ACBF2D64BCB7EA612AA3112133927CB5DB33B305E7357C8C5EC3998734BED901D319FC5ECAC8D56B266E417FC637673912571597B93082BA71813D9EC29EA317DCB97CD7682E8E24151123AC62059

RSA Public Key:

AAF0CB6B8459733E0FFAB1D6684F4C79C27F329F30575EBA44B148DA67BC39A46EBB6EB5F7624B6711BC4BC1BC271E241D18DA4FD4C88798BC27F0091ED0F48154A06A1B5B5899103C78D06A83A5FA85ECB6491420B42AAB152FE869F293CB3167680F6AA3940A66D433268AD30A1F037832006856B73CF674E4BE48CB5CA1E551C223AAC4AAD3E1C712EBAC9505D95FF31311E70C57ADDA5E08308645C33EB0F67E1C54C1C2D35AC9E96AE3F34724128131E3B21B663FD1A9A8E9957D7D38DCCE0A34C54D3AC2B6496F174E66CE2B8CE4249E0A6FC80A1EB3D20BE00CC637EBC50BFFF06873ADF771F3A2BB774F36C28046C026D8EC550EEFFC3C5627BCA1E9

RSA Exp:

010001

Long term private key

00826d17e50767b165b0e4d9e332f8d1d1e20224284fb4daf1e50a03246e70797d

Padding “00” + Version(ex. 00 00 00 01) + Long term private key to 256 bytes data

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100826D17E50767B165B0E4D9E332F8D1D1E20224284FB4DAF1E50A03246E70797D

Calculate SHA-256 for data

A0271BD196D3C0C458CB5FD6D9EDAB128EB3CD24BC27F2DBE6447C755F630943


Use RSA private key encrypt data

A782BE58B2FBE051D0CE534888D04AABC52237D3E2A73A41C0BBC1BD711BB9F6AE95A614458A9D1188005CB8200F568FEDC83B1DA91FBD0FF4924E72D71CA79129448479FEBACE55DF9A2BAC6A40BC1A1A90F2181F0D5A1E040DCB5D90333E1A6A4A366BFBD035DCFB9552F874AB47FC0F9964961C7627D1AC5FE77C87B202A19AC23C9C8A2CCAD63F24FF56521A453BEBD7C54AF57BD289A3E03B19CE2A9AE3B98B49302F9795FFB1557463D76AA71470ADB0A8E84E6A746A6C2922B7C6C2771EECB5D7C4E3E26C05F143B30A2962F1E5492663E4873938021AFEEEB74870B0A4FF1A93105DCD8E745D9BB734C8A47A1CB27948D1195FF59704063F7DF4BE4D

Append encrypt data and sha-256 data

A782BE58B2FBE051D0CE534888D04AABC52237D3E2A73A41C0BBC1BD711BB9F6AE95A614458A9D1188005CB8200F568FEDC83B1DA91FBD0FF4924E72D71CA79129448479FEBACE55DF9A2BAC6A40BC1A1A90F2181F0D5A1E040DCB5D90333E1A6A4A366BFBD035DCFB9552F874AB47FC0F9964961C7627D1AC5FE77C87B202A19AC23C9C8A2CCAD63F24FF56521A453BEBD7C54AF57BD289A3E03B19CE2A9AE3B98B49302F9795FFB1557463D76AA71470ADB0A8E84E6A746A6C2922B7C6C2771EECB5D7C4E3E26C05F143B30A2962F1E5492663E4873938021AFEEEB74870B0A4FF1A93105DCD8E745D9BB734C8A47A1CB27948D1195FF59704063F7DF4BE4DA0271BD196D3C0C458CB5FD6D9EDAB128EB3CD24BC27F2DBE6447C755F630943

IDG Command

5669564F746563683200C7620120A782BE58B2FBE051D0CE534888D04AABC52237D3E2A73A41C0BBC1BD711BB9F6AE95A614458A9D1188005CB8200F568FEDC83B1DA91FBD0FF4924E72D71CA79129448479FEBACE55DF9A2BAC6A40BC1A1A90F2181F0D5A1E040DCB5D90333E1A6A4A366BFBD035DCFB9552F874AB47FC0F9964961C7627D1AC5FE77C87B202A19AC23C9C8A2CCAD63F24FF56521A453BEBD7C54AF57BD289A3E03B19CE2A9AE3B98B49302F9795FFB1557463D76AA71470ADB0A8E84E6A746A6C2922B7C6C2771EECB5D7C4E3E26C05F143B30A2962F1E5492663E4873938021AFEEEB74870B0A4FF1A93105DCD8E745D9BB734C8A47A1CB27948D1195FF59704063F7DF4BE4DA0271BD196D3C0C458CB5FD6D9EDAB128EB3CD24BC27F2DBE6447C755F630943BE36

Task 2 Create Pronto Private Key

Download pronto.key.zip and extract to drive C:\CS-1630\20180208

and it should look like this

and there are 2 PEM file in pronto.key\

open command line tool, and change path

C:\Users\Richard Cheng>cd c:\

c:\>cd "Program Files (x86)"

c:\Program Files (x86)>cd GnuWin32

c:\Program Files (x86)\GnuWin32>cd bin

c:\Program Files (x86)\GnuWin32\bin>openssl.exe ec -noout -text -in "c:\CS-1630\20180208\pronto.key\pronto-PRIVATE.key.pem"



There are 2 part in this private key, and we need to load priv part to reader, 

RSA Private Key:

3238682B00491F585E6D728DE13B5AE672C3D7E578D852563B1432A927CCDECA7655CEA2DB391F99FA55ED93CF6956AB9978D1BA9E73039355C40DFB3FF877BCFF55D9968BF1AD965D8DC8FD620C035C113D449F0B34A34C7BFF05330B376C7CE93A633D1B2DC5188CC332519ACAE06DAE8452265543A43F6BFC400336EBD20C0604C5497D416F113117A51F5736EFD471C16EEA993BAAE69F3A80B12DB6E8B7696423C7D661F236410DBD38DFC92FA1755ACBF2D64BCB7EA612AA3112133927CB5DB33B305E7357C8C5EC3998734BED901D319FC5ECAC8D56B266E417FC637673912571597B93082BA71813D9EC29EA317DCB97CD7682E8E24151123AC62059

RSA Public Key:

AAF0CB6B8459733E0FFAB1D6684F4C79C27F329F30575EBA44B148DA67BC39A46EBB6EB5F7624B6711BC4BC1BC271E241D18DA4FD4C88798BC27F0091ED0F48154A06A1B5B5899103C78D06A83A5FA85ECB6491420B42AAB152FE869F293CB3167680F6AA3940A66D433268AD30A1F037832006856B73CF674E4BE48CB5CA1E551C223AAC4AAD3E1C712EBAC9505D95FF31311E70C57ADDA5E08308645C33EB0F67E1C54C1C2D35AC9E96AE3F34724128131E3B21B663FD1A9A8E9957D7D38DCCE0A34C54D3AC2B6496F174E66CE2B8CE4249E0A6FC80A1EB3D20BE00CC637EBC50BFFF06873ADF771F3A2BB774F36C28046C026D8EC550EEFFC3C5627BCA1E9

RSA Exp:

010001

Long term private key

00F5368708933920553B7B9FFB16AEED9C77D5BFD9662AF149A6B9F965B73F0CCA


Padding “00” + Version(ex. 00 00 00 01) + Long term private key to 256 bytes data
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100F5368708933920553B7B9FFB16AEED9C77D5BFD9662AF149A6B9F965B73F0CCA


Calculate SHA-256 for data


BD422E43F804506F002B4E93DD0165F488FC18660F21A0DC7D9B3057E36C504B


Use RSA private key encrypt data
A997961F9A8D1C44F89B46A95045DC51D767032EC645E80FA2DDB528690D28C820A828D44C322586FC0CB91B6FCF48513D7F7E579221A5F089E22FF1CB792070D6237D25198B77E3ECB053D519AB1BAB260B27DD8FD5E95C7A21CDA073D8E6AD928B0AD6F698074A5EDC2A5496C02F6B50DD650D9CC61E0385EAE15CF381EE639073A208A5C3A4ADA935369D689A295CE77BC9372A544492034A857F767854EDDFC922D6497B3905B588333447078F7DE55064EF3EA35E0877505E4107FA49126F26CB0114943267FC8BABB5C90A07AEE359A32A71ABFBCE529BF875501F70E4FE022D14FC43D1AE2BD18F4904962BE1C376658D16F298B6E0DEADA829021A85


Append encrypt data and sha-256 data

A997961F9A8D1C44F89B46A95045DC51D767032EC645E80FA2DDB528690D28C820A828D44C322586FC0CB91B6FCF48513D7F7E579221A5F089E22FF1CB792070D6237D25198B77E3ECB053D519AB1BAB260B27DD8FD5E95C7A21CDA073D8E6AD928B0AD6F698074A5EDC2A5496C02F6B50DD650D9CC61E0385EAE15CF381EE639073A208A5C3A4ADA935369D689A295CE77BC9372A544492034A857F767854EDDFC922D6497B3905B588333447078F7DE55064EF3EA35E0877505E4107FA49126F26CB0114943267FC8BABB5C90A07AEE359A32A71ABFBCE529BF875501F70E4FE022D14FC43D1AE2BD18F4904962BE1C376658D16F298B6E0DEADA829021A85BD422E43F804506F002B4E93DD0165F488FC18660F21A0DC7D9B3057E36C504B

IDG Command

5669564F746563683200C7620120A997961F9A8D1C44F89B46A95045DC51D767032EC645E80FA2DDB528690D28C820A828D44C322586FC0CB91B6FCF48513D7F7E579221A5F089E22FF1CB792070D6237D25198B77E3ECB053D519AB1BAB260B27DD8FD5E95C7A21CDA073D8E6AD928B0AD6F698074A5EDC2A5496C02F6B50DD650D9CC61E0385EAE15CF381EE639073A208A5C3A4ADA935369D689A295CE77BC9372A544492034A857F767854EDDFC922D6497B3905B588333447078F7DE55064EF3EA35E0877505E4107FA49126F26CB0114943267FC8BABB5C90A07AEE359A32A71ABFBCE529BF875501F70E4FE022D14FC43D1AE2BD18F4904962BE1C376658D16F298B6E0DEADA829021A85BD422E43F804506F002B4E93DD0165F488FC18660F21A0DC7D9B3057E36C504B6E7C

Test test-cases2074294809.json with Terminal App case 0.3

  1. Download Terminal configuration file terminal_configs.7z to Android phone, which used to as Terminal.

  2. Click Terminal App → Setting → Click "LOAD" → go to direction where store Terminal configuration file → serch for 0.3.json → clikc OK

    → scroll down, change Merchant ID to 50248994(if need) and check Long term private key, which should be same as the priv we use openssl to read PEM file(Google's or Pronto's) → return to Terminal App → tapping new pass
    → SW 9102.

    Image ModifiedImage ModifiedImage ModifiedImage ModifiedImage ModifiedImage ModifiedImage Modified

    Image ModifiedImage Modified

  3. Change LTPK to Pronto's, Terminal APP → Setting → scroll down to LTPK → click LTPK → "LOAD KEY FROM FILE" → select Pronto' s PEM file → SAVE → tapping new pass → SW 9102.

Image ModifiedImage ModifiedImage ModifiedImage ModifiedImage ModifiedImage ModifiedImage ModifiedImage Modified

Suggenstion

To validate customer' s pass via Terminal App is a best way. If Terminal App could read data and get SW 9000, that means VP3300 should get same data.

One more thing should be notice is, test case 0.3 need to do negotiate with pass, so we could read log from Terminal App, and knwo SW of Negotiate is 9500(Authorization failed).

I think customer and Google may use Terminal App and pass to read something back successfully first, then set the same configuratioin to VP3300 and read pass.

If Terminal App success but VP3300 fail, then we fix it.













...