added master CAPK

This commit is contained in:
kizzy 2026-02-25 15:54:41 +07:00
parent 3811c04179
commit e2b53af27c
4 changed files with 179 additions and 14 deletions

View File

@ -1210,7 +1210,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x1B}, new byte[]{(byte) 0x30});
//EMV MODE :amount >contactless cvm limit, set 60 = online pin and signature , set 20 = signature
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0x28});
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF8});
//EMV mode :amount < contactless cvm limit, set 08 = no cvm
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x19}, new byte[]{(byte) 0x08}); //08

View File

@ -1,9 +1,9 @@
[
{
"aidEnable": true,
"aid": "A0000000041010",
"aid": "A00000000410",
"cardLabel": "MASTERCARD",
"applicationVersion": "0020",
"applicationVersion": "0002",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
@ -17,7 +17,32 @@
"cvmLimit": 75000,
"transLimit": "999999999999",
"transLimitCDV": "999999999999",
"terminalCapability": "E0F8F8",
"terminalCapability": "E0F8C8",
"riskManageData": "6C7A800000000000",
"kernelType": "02",
"ttq": "36804000",
"cateCode": "2701",
"currencyCode": "0104"
},
{
"aidEnable": true,
"aid": "A0000000041010",
"cardLabel": "MASTERCARD",
"applicationVersion": "0002",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
"targetPercent": "00",
"maxTargetPercent": "00",
"threshold": "00000040",
"tacDefault": "D84000A800",
"tacOnline": "DC4004F800",
"tacDenial": "0000000000",
"floorLimit": "000000000000",
"cvmLimit": 75000,
"transLimit": "999999999999",
"transLimitCDV": "999999999999",
"terminalCapability": "E0F8C8",
"riskManageData": "6C7A800000000000",
"kernelType": "02",
"ttq": "36804000",
@ -29,7 +54,7 @@
"aidEnable": true,
"aid": "A0000000041010C123456789",
"cardLabel": "MASTERCARD",
"applicationVersion": "0020",
"applicationVersion": "0002",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
@ -52,9 +77,9 @@
},
{
"aidEnable": true,
"aid": "A0000000043060",
"aid": "A00000000430",
"cardLabel": "MASTERCARD",
"applicationVersion": "0020",
"applicationVersion": "0002",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
@ -68,7 +93,7 @@
"cvmLimit": 75000,
"transLimit": "999999999999",
"transLimitCDV": "999999999999",
"terminalCapability": "E0F8F8",
"terminalCapability": "E0F8C8",
"riskManageData": "6C7A800000000000",
"kernelType": "02",
"ttq": "36804000",

View File

@ -140,25 +140,165 @@
"expDate": "3230333031323331",
"checkSum": "43A3151513B7ADCEB92DBEA2A262CEB336D26C83"
},
{
"rid": "A000000004",
"indx": "00",
"hashInd": "01",
"arithInd": "01",
"modul": "9c6be5adb10b4be3dce2099b4b210672b89656eba091204f613ecc623bedc9c6d77b660e8baeea7f7ce30f1b153879a4e36459343d1fe47acdbd41fcd710030c2ba1d9461597982c6e1bdd08554b726f5eff7913ce59e79e357295c321e26d0b8be270a9442345c753e2aa2acfc9d30850602fe6cac00c6ddf6b8d9d9b4879b2826b042a07f0e5ae526a3d3c4d22c72b9eaa52eed8893866f866387ac05a1399",
"exponent": "03",
"expDate": "20201231",
"checkSum": "ec0a59d35d19f031e9e8cbec56db80e22b1de130"
},
{
"rid": "A000000004",
"indx": "01",
"hashInd": "01",
"arithInd": "01",
"modul": "a99a6d3e071889ed9e3a0c391c69b0b804fc160b2b4bdd570c92dd5a0f45f53e8621f7c96c40224266735e1ee1b3c06238ae35046320fd8e81f8ceb3f8b4c97b940930a3ac5e790086dad41a6a4f5117ba1ce2438a51ac053eb002aed866d2c458fd73359021a12029a0c043045c11664fe0219ec63c10bf2155bb2784609a106421d45163799738c1c30909bb6c6fe52bbb76397b9740ce064a613ff8411185f08842a423ead20edffbff1cd6c3fe0c9821479199c26d8572cc8afff087a9c3",
"exponent": "03",
"expDate": "20201231",
"checkSum": "33408b96c814742ad73536c72f0926e4471e8e47"
},
{
"rid": "A000000004",
"indx": "03",
"hashInd": "01",
"arithInd": "01",
"modul": "c2490747fe17eb0584c88d47b1602704150adc88c5b998bd59ce043edebf0ffee3093ac7956ad3b6ad4554c6de19a178d6da295be15d5220645e3c8131666fa4be5b84fe131ea44b039307638b9e74a8c42564f892a64df1cb15712b736e3374f1bbb6819371602d8970e97b900793c7c2a89a4a1649a59be680574dd0b60145",
"exponent": "03",
"expDate": "20201231",
"checkSum": "5addf21d09278661141179cbeff272ea384b13bb"
},
{
"rid": "A000000004",
"indx": "04",
"hashInd": "01",
"arithInd": "01",
"modul": "a6da428387a502d7ddfb7a74d3f412be762627197b25435b7a81716a700157ddd06f7cc99d6ca28c2470527e2c03616b9c59217357c2674f583b3ba5c7dcf2838692d023e3562420b4615c439ca97c44dc9a249cfce7b3bfb22f68228c3af13329aa4a613cf8dd853502373d62e49ab256d2bc17120e54aedced6d96a4287acc5c04677d4a5a320db8bee2f775e5fec5",
"exponent": "03",
"expDate": "20201231",
"checkSum": "381a035da58b482ee2af75f4c3f2ca469ba4aa6c"
},
{
"rid": "A000000004",
"indx": "05",
"hashInd": "01",
"arithInd": "01",
"modul": "b8048abc30c90d976336543e3fd7091c8fe4800df820ed55e7e94813ed00555b573feca3d84af6131a651d66cff4284fb13b635edd0ee40176d8bf04b7fd1c7bacf9ac7327dfaa8aa72d10db3b8e70b2ddd811cb4196525ea386acc33c0d9d4575916469c4e4f53e8e1c912cc618cb22dde7c3568e90022e6bba770202e4522a2dd623d180e215bd1d1507fe3dc90ca310d27b3efccd8f83de3052cad1e48938c68d095aac91b5f37e28bb49ec7ed597",
"exponent": "03",
"expDate": "20201231",
"checkSum": "ebfa0d5d06d8ce702da3eae890701d45e274c845"
},
{
"rid": "A000000004",
"indx": "06",
"hashInd": "01",
"arithInd": "01",
"modul": "cb26fc830b43785b2bce37c81ed334622f9622f4c89aae641046b2353433883f307fb7c974162da72f7a4ec75d9d657336865b8d3023d3d645667625c9a07a6b7a137cf0c64198ae38fc238006fb2603f41f4f3bb9da1347270f2f5d8c606e420958c5f7d50a71de30142f70de468889b5e3a08695b938a50fc980393a9cbce44ad2d64f630bb33ad3f5f5fd495d31f37818c1d94071342e07f1bec2194f6035ba5ded3936500eb82dfda6e8afb655b1ef3d0d7ebf86b66dd9f29f6b1d324fe8b26ce38ab2013dd13f611e7a594d675c4432350ea244cc34f3873cba06592987a1d7e852adc22ef5a2ee28132031e48f74037e3b34ab747f",
"exponent": "03",
"expDate": "20201231",
"checkSum": "f910a1504d5ffb793d94f3b500765e1abcad72d9"
},
{
"rid": "A000000004",
"indx": "F1",
"hashInd": "01",
"arithInd": "01",
"modul": "A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7",
"modul": "a0dcf4bde19c3546b4b6f0414d174dde294aabbb828c5a834d73aae27c99b0b053a90278007239b6459ff0bbcd7b4b9c6c50ac02ce91368da1bd21aaeadbc65347337d89b68f5c99a09d05be02dd1f8c5ba20e2f13fb2a27c41d3f85cad5cf6668e75851ec66edbf98851fd4e42c44c1d59f5984703b27d5b9f21b8fa0d93279fbbf69e090642909c9ea27f898959541aa6757f5f624104f6e1d3a9532f2a6e51515aead1b43b3d7835088a2fafa7be7",
"exponent": "03",
"expDate": "20201231",
"checkSum": "D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB"
"checkSum": "d8e68da167ab5a85d8c3d55ecb9b0517a1a5b4bb"
},
{
"rid": "A000000004",
"indx": "F3",
"hashInd": "01",
"arithInd": "01",
"modul": "98f0c770f23864c2e766df02d1e833dff4ffe92d696e1642f0a88c5694c6479d16db1537bfe29e4fdc6e6e8afd1b0eb7ea0124723c333179bf19e93f10658b2f776e829e87daeda9c94a8b3382199a350c077977c97aff08fd11310ac950a72c3ca5002ef513fccc286e646e3c5387535d509514b3b326e1234f9cb48c36ddd44b416d23654034a66f403ba511c5efa3",
"exponent": "03",
"expDate": "20201231",
"checkSum": "a69ac7603daf566e972dedc2cb433e07e8b01a9a"
},
{
"rid": "A000000004",
"indx": "F5",
"hashInd": "01",
"arithInd": "01",
"modul": "a6e6fb72179506f860ccca8c27f99cecd94c7d4f3191d303bbee37481c7aa15f233ba755e9e4376345a9a67e7994bdc1c680bb3522d8c93eb0ccc91ad31ad450da30d337662d19ac03e2b4ef5f6ec18282d491e19767d7b24542dfdeff6f62185503532069bbb369e3bb9fb19ac6f1c30b97d249eee764e0bac97f25c873d973953e5153a42064bbfabfd06a4bb486860bf6637406c9fc36813a4a75f75c31cca9f69f8de59adecef6bde7e07800fcbe035d3176af8473e23e9aa3dfee221196d1148302677c720cfe2544a03db553e7f1b8427ba1cc72b0f29b12dfef4c081d076d353e71880aadff386352af0ab7b28ed49e1e672d11f9",
"exponent": "010001",
"expDate": "20201231",
"checkSum": "c2239804c8098170be52d6d5d4159e81ce8466bf"
},
{
"rid": "A000000004",
"indx": "F6",
"hashInd": "01",
"arithInd": "01",
"modul": "a25a6bd783a5ef6b8fb6f83055c260f5f99ea16678f3b9053e0f6498e82c3f5d1e8c38f13588017e2b12b3d8ff6f50167f46442910729e9e4d1b3739e5067c0ac7a1f4487e35f675bc16e233315165cb142bfdb25e301a632a54a3371ebab6572deebaf370f337f057ee73b4ae46d1a8bc4da853ec3cc12c8cbc2da18322d68530c70b22bdac351dd36068ae321e11abf264f4d3569bb71214545005558de26083c735db776368172fe8c2f5c85e8b5b890cc682911d2de71fa626b8817fccc08922b703869f3baeac1459d77cd85376bc36182f4238314d6c4212fbdd7f23d3",
"exponent": "03",
"expDate": "20201231",
"checkSum": "502909ed545e3c8dbd00ea582d0617fee9f6f684"
},
{
"rid": "A000000004",
"indx": "F7",
"hashInd": "01",
"arithInd": "01",
"modul": "94ea62f6d58320e354c022addcf0559d8cf206cd92e869564905ce21d720f971b7aea374830ebe1757115a85e088d41c6b77cf5ec821f30b1d890417bf2fa31e5908ded5fa677f8c7b184ad09028fdde96b6a6109850aa800175eabcdbbb684a96c2eb6379dfea08d32fe2331fe103233ad58dcdb1e6e077cb9f24eaec5c25af",
"exponent": "010001",
"expDate": "20201231",
"checkSum": "eeb0dd9b2477bee3209a914cdba94c1c4a9bded9"
},
{
"rid": "A000000004",
"indx": "F8",
"hashInd": "01",
"arithInd": "01",
"modul": "a1f5e1c9bd8650bd43ab6ee56b891ef7459c0a24fa84f9127d1a6c79d4930f6db1852e2510f18b61cd354db83a356bd190b88ab8df04284d02a4204a7b6cb7c5551977a9b36379ca3de1a08e69f301c95cc1c20506959275f41723dd5d2925290579e5a95b0df6323fc8e9273d6f849198c4996209166d9bfc973c361cc826e1",
"exponent": "03",
"expDate": "20201231",
"checkSum": "f06ecc6d2aaebf259b7e755a38d9a9b24e2ff3dd"
},
{
"rid": "A000000004",
"indx": "F9",
"hashInd": "01",
"arithInd": "01",
"modul": "a99a6d3e071889ed9e3a0c391c69b0b804fc160b2b4bdd570c92dd5a0f45f53e8621f7c96c40224266735e1ee1b3c06238ae35046320fd8e81f8ceb3f8b4c97b940930a3ac5e790086dad41a6a4f5117ba1ce2438a51ac053eb002aed866d2c458fd73359021a12029a0c043045c11664fe0219ec63c10bf2155bb2784609a106421d45163799738c1c30909bb6c6fe52bbb76397b9740ce064a613ff8411185f08842a423ead20edffbff1cd6c3fe0c9821479199c26d8572cc8afff087a9c3",
"exponent": "03",
"expDate": "20201231",
"checkSum": "336712dcc28554809c6aa9b02358de6f755164db"
},
{
"rid": "A000000004",
"indx": "FA",
"hashInd": "01",
"arithInd": "01",
"modul": "a90fcd55aa2d5d9963e35ed0f440177699832f49c6bab15cdae5794be93f934d4462d5d12762e48c38ba83d8445deaa74195a301a102b2f114eada0d180ee5e7a5c73e0c4e11f67a43ddab5d55683b1474cc0627f44b8d3088a492ffaadad4f42422d0e7013536c3c49ad3d0fae96459b0f6b1b6056538a3d6d44640f94467b108867dec40faaecd740c00e2b7a8852d",
"exponent": "03",
"expDate": "20201231",
"checkSum": "5bed4068d96ea16d2d77e03d6036fc7a160ea99c"
},
{
"rid": "A000000004",
"indx": "FE",
"hashInd": "01",
"arithInd": "01",
"modul": "a653eac1c0f786c8724f737f172997d63d1c3251c44402049b865bae877d0f398cbfbe8a6035e24afa086befde9351e54b95708ee672f0968bcd50dce40f783322b2aba04ef137ef18abf03c7dbc5813aeaef3aa7797ba15df7d5ba1cbaf7fd520b5a482d8d3fee105077871113e23a49af3926554a70fe10ed728cf793b62a1",
"exponent": "03",
"expDate": "20201231",
"checkSum": "9a295b05fb390ef7923f57618a9fda2941fc34e0"
},
{
"rid": "A000000004",
"indx": "EF",
"hashInd": "01",
"arithInd": "01",
"modul": "A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B",
"modul": "a191cb87473f29349b5d60a88b3eaee0973aa6f1a082f358d849fddff9c091f899eda9792caf09ef28f5d22404b88a2293eebbc1949c43bea4d60cfd879a1539544e09e0f09f60f065b2bf2a13ecc705f3d468b9d33ae77ad9d3f19ca40f23dcf5eb7c04dc8f69eba565b1ebcb4686cd274785530ff6f6e9ee43aa43fdb02ce00daec15c7b8fd6a9b394baba419d3f6dc85e16569be8e76989688efea2df22ff7d35c043338deaa982a02b866de5328519ebbcd6f03cdd686673847f84db651ab86c28cf1462562c577b853564a290c8556d818531268d25cc98a4cc6a0bdfffda2dcca3a94c998559e307fddf915006d9a987b07ddaeb3b",
"exponent": "03",
"expDate": "20201231",
"checkSum": "21766EBB0EE122AFB65D7845B73DB46BAB65427A"
"checkSum": "21766ebb0ee122afb65d7845b73db46bab65427a"
}
]

View File

@ -21,7 +21,7 @@ public class ExampleUnitTest {
@Test
public void testCAPKIndex() {
String index = "99";
String index = "F1";
int data = Integer.parseInt(index,16);
System.out.println("Data: "+data);