package de.persosim.simulator.perso; import de.persosim.simulator.cardobjects.DedicatedFile; import de.persosim.simulator.crypto.CryptoUtil; import de.persosim.simulator.utils.HexString; /** * @author slutters * */ public class Profile08 extends AbstractProfile { @Override public void setPersoDataContainer() { persoDataContainer = PersonalizationDataContainer.getDefaultContainer(); persoDataContainer.setDg4PlainData("KARL"); persoDataContainer.setDg5PlainData("HILLEBRANDT"); persoDataContainer.setDg6PlainData("GRAF V. LÝSKY"); persoDataContainer.setDg7PlainData("DR.HC."); persoDataContainer.setDg8PlainData("19520617"); persoDataContainer.setDg9PlainData("TRIER"); persoDataContainer.setDg18PlainData(""); persoDataContainer.setEfCardAccess("3181C13012060A04007F0007020204020202010202010D300D060804007F00070202020201023012060A04007F00070202030202020102020129301C060904007F000702020302300C060704007F0007010202010D020129303E060804007F000702020831323012060A04007F0007020203020202010202012D301C060904007F000702020302300C060704007F0007010202010D02012D302A060804007F0007020206161E687474703A2F2F6273692E62756E642E64652F6369662F6E70612E786D6C"); persoDataContainer.setEfCardSecurity("308206AF06092A864886F70D010702A08206A03082069C020103310F300D0609608648016503040204050030820188060804007F0007030201A082017A04820176318201723012060A04007F0007020204020202010202010D300D060804007F00070202020201023017060A04007F0007020205020330090201010201010101003019060904007F000702020502300C060704007F0007010202010D3017060A04007F0007020205020330090201010201020101FF3012060A04007F00070202030202020102020129301C060904007F000702020302300C060704007F0007010202010D0201293062060904007F0007020201023052300C060704007F0007010202010D0342000467DBFBD14C3291267FEFF537062570B96BE2274D7747D734BBDB5BFEAAD0976C3E47B929F42B1FCD583F80FB469225E29FE00AC6C95C24E956CB8E7031C19AC2020129303E060804007F000702020831323012060A04007F0007020203020202010202012D301C060904007F000702020302300C060704007F0007010202010D02012D302A060804007F0007020206161E687474703A2F2F6273692E62756E642E64652F6369662F6E70612E786D6CA08203EE308203EA30820371A00302010202012D300A06082A8648CE3D0403033055310B3009060355040613024445310D300B060355040A0C0462756E64310C300A060355040B0C03627369310D300B0603550405130430303033311A301806035504030C115445535420637363612D6765726D616E79301E170D3134303732333036333034305A170D3235303232333233353935395A305C310B3009060355040613024445310C300A060355040A0C03425349310D300B06035504051304303035303130302E06035504030C275445535420446F63756D656E74205369676E6572204964656E7469747920446F63756D656E7473308201133081D406072A8648CE3D02013081C8020101302806072A8648CE3D0101021D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001303C041CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE041CB4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4043904B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34021D00FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D020101033A00043A79C3CBFDB8A6E569C9226CD54E81DE14381BC92A61AD554EBF349BFAFD72F18DC85D78E49742F37A75411E28E894308D6880D1380FBEB4A382016D30820169301F0603551D23041830168014A38DB7C0DBECF5A91FCA6B3D5EB2F328B5A5DC17301D0603551D0E04160414CF0A2AC150F28ADE4329F662E3D21CE5C78BCDE9300E0603551D0F0101FF040403020780302B0603551D1004243022800F32303134303732333036333034305A810F32303135303232333233353935395A30160603551D20040F300D300B060904007F000703010101302D0603551D1104263024821262756E646573647275636B657265692E6465A40E300C310A300806035504070C014430510603551D12044A30488118637363612D6765726D616E79406273692E62756E642E6465861C68747470733A2F2F7777772E6273692E62756E642E64652F63736361A40E300C310A300806035504070C01443019060767810801010602040E300C02010031071301411302494430350603551D1F042E302C302AA028A0268624687474703A2F2F7777772E6273692E62756E642E64652F746573745F637363615F63726C300A06082A8648CE3D040303036700306402300D90B1C6E52B5E20D8ECE1520981E11EF1AF02906A930420F87E90315588B70C0C9642160E877E42B1CE311849E388B802303450209749C1368D965CE879460F729E68BAB9D5D3269724721D0C564FB2752EC4C0F8F5542990CFDB7C848AA7D0A2BB3182010630820102020101305A3055310B3009060355040613024445310D300B060355040A0C0462756E64310C300A060355040B0C03627369310D300B0603550405130430303033311A301806035504030C115445535420637363612D6765726D616E7902012D300D06096086480165030402040500A046301706092A864886F70D010903310A060804007F0007030201302B06092A864886F70D010904311E041C05DFAE8FAA74113596EC67B61E0E18302E37E2A51D9BF1B613F748B3300A06082A8648CE3D040301043E303C021C14C1A6DB79394FE7382E758B7723AB3A7178ECAD543F61615BF0616A021C7C27A410BDBC525B5A2BDACF48558BB4D1E880FBBA3019F8FE2ED253"); persoDataContainer.setEfChipSecurity("308208BB06092A864886F70D010702A08208AC308208A8020103310F300D0609608648016503040204050030820392060804007F0007030201A0820384048203803182037C3012060A04007F0007020204020202010202010D300D060804007F00070202020201023017060A04007F0007020205020330090201010201010101003019060904007F000702020502300C060704007F0007010202010D3017060A04007F0007020205020330090201010201020101FF3012060A04007F00070202030202020102020129301C060904007F000702020302300C060704007F0007010202010D0201293062060904007F0007020201023052300C060704007F0007010202010D0342000467DBFBD14C3291267FEFF537062570B96BE2274D7747D734BBDB5BFEAAD0976C3E47B929F42B1FCD583F80FB469225E29FE00AC6C95C24E956CB8E7031C19AC20201293081A3060804007F00070202083181963012060A04007F0007020203020202010202012D301C060904007F000702020302300C060704007F0007010202010D02012D3062060904007F0007020201023052300C060704007F0007010202010D0342000482ED7BDBBC67FF81507630E88819F3B001E47592D8B686D4C057FB8B75110D2E753F56C2F188337D1BCCA74CD12D7186E1AAD6D8A560DC90D56590BC373E558702012D302A060804007F0007020206161E687474703A2F2F6273692E62756E642E64652F6369662F6E70612E786D6C308201A0060804007F000702020730820192300B0609608648016503040204308201813021020101041C2FF0247F59DD3C646E314F03ABB33EE91A586577EBDF48D3864EC34D3021020102041C37823963B71AF0BF5698D1FDC30DA2B7F9ECE57CFA4959BEE9D6D9943021020103041CA105E4EF19FEEC01DC64FBE1AECBEBC2A492DE78C89D439A8C301E853021020104041CBE76F4E545E2331C639A45F5A867DAA976C1D44046A6FABD21495B363021020105041C5E443C929B0720E64FB490290DADB57BA4419D1A7EDC2C719F1298A73021020106041CEF3303FCF83678AF2771D57E66A63C7FC2723E4293461921062B71633021020107041C874C679DFB7A537F54111CF727B2E167CDD2721AAFA2BFC37B7C3E0A3021020108041CFCDE79AE6A9F8817CF12CB46BE8ADD5C664C7EBF9049FC075C150D563021020109041C3D0CD1DF88C19785125B44C4CC93E89339B88826E87A04DCF4B9F7633021020111041C48509453820664EBAD79635699FA2C6BE7E9080C35489E6585B268E43021020112041CB2A04D6EE2B222FF387237247E648912ADD8E731CE2E128029C5F6C0A08203EE308203EA30820371A00302010202012D300A06082A8648CE3D0403033055310B3009060355040613024445310D300B060355040A0C0462756E64310C300A060355040B0C03627369310D300B0603550405130430303033311A301806035504030C115445535420637363612D6765726D616E79301E170D3134303732333036333034305A170D3235303232333233353935395A305C310B3009060355040613024445310C300A060355040A0C03425349310D300B06035504051304303035303130302E06035504030C275445535420446F63756D656E74205369676E6572204964656E7469747920446F63756D656E7473308201133081D406072A8648CE3D02013081C8020101302806072A8648CE3D0101021D00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001303C041CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE041CB4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4043904B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34021D00FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D020101033A00043A79C3CBFDB8A6E569C9226CD54E81DE14381BC92A61AD554EBF349BFAFD72F18DC85D78E49742F37A75411E28E894308D6880D1380FBEB4A382016D30820169301F0603551D23041830168014A38DB7C0DBECF5A91FCA6B3D5EB2F328B5A5DC17301D0603551D0E04160414CF0A2AC150F28ADE4329F662E3D21CE5C78BCDE9300E0603551D0F0101FF040403020780302B0603551D1004243022800F32303134303732333036333034305A810F32303135303232333233353935395A30160603551D20040F300D300B060904007F000703010101302D0603551D1104263024821262756E646573647275636B657265692E6465A40E300C310A300806035504070C014430510603551D12044A30488118637363612D6765726D616E79406273692E62756E642E6465861C68747470733A2F2F7777772E6273692E62756E642E64652F63736361A40E300C310A300806035504070C01443019060767810801010602040E300C02010031071301411302494430350603551D1F042E302C302AA028A0268624687474703A2F2F7777772E6273692E62756E642E64652F746573745F637363615F63726C300A06082A8648CE3D040303036700306402300D90B1C6E52B5E20D8ECE1520981E11EF1AF02906A930420F87E90315588B70C0C9642160E877E42B1CE311849E388B802303450209749C1368D965CE879460F729E68BAB9D5D3269724721D0C564FB2752EC4C0F8F5542990CFDB7C848AA7D0A2BB3182010830820104020101305A3055310B3009060355040613024445310D300B060355040A0C0462756E64310C300A060355040B0C03627369310D300B0603550405130430303033311A301806035504030C115445535420637363612D6765726D616E7902012D300D06096086480165030402040500A046301706092A864886F70D010903310A060804007F0007030201302B06092A864886F70D010904311E041C11C88A04302A2C2466F34343D660688EF7CCB3B2CA4AB93D0DE4F80B300A06082A8648CE3D0403010440303E021D00BD1C30673C36E6BBFB3CAF3C07A5EC60C158CC6BAF0F8C78D095A352021D00CC01721438E4CA4B7EE88500C5D709E53A955283DB94F2CEC1C4A9C5"); String documentNumber = "000000008"; String sex = "M"; String mrzLine3 = "GRAF<VON<LYSKY<<KARL<<<<<<<<<<"; String mrz = persoDataContainer.createMrzFromDgs(documentNumber, sex, mrzLine3); persoDataContainer.setMrz(mrz); persoDataContainer.setEpassDg1PlainData(mrz); // unprivileged CA key persoDataContainer.addCaKeyPair(CryptoUtil.reconstructKeyPair(13, HexString.toByteArray("0467DBFBD14C3291267FEFF537062570B96BE2274D7747D734BBDB5BFEAAD0976C3E47B929F42B1FCD583F80FB469225E29FE00AC6C95C24E956CB8E7031C19AC2"), HexString.toByteArray("8910074CF4749A916E5864654C768D57F57B6361F70A226DD1AEBED390BB066D")), 41, false); // privileged CA key persoDataContainer.addCaKeyPair(CryptoUtil.reconstructKeyPair(13, HexString.toByteArray("0482ED7BDBBC67FF81507630E88819F3B001E47592D8B686D4C057FB8B75110D2E753F56C2F188337D1BCCA74CD12D7186E1AAD6D8A560DC90D56590BC373E5587"), HexString.toByteArray("40055E46C67A76B7BF1A3026400D8C2D9BB243B883E0D150B517120A7651480C")), 45, true); // individual RI key - 1st sector public/private key pair (Sperrmerkmal) persoDataContainer.addRiKeyPair(CryptoUtil.reconstructKeyPair(13, HexString.toByteArray("04904A688211708045D141244BC7EDB4C2C07622C8514D24524694C3791B7843C74F2DC4598C8240EB350C7488332430706D9B4613E163DC9790D111BD77B6A1E4"), HexString.toByteArray("49C7E53603DC2B1155A90DA950A6F5E4B050F11E9E139FFDBC9F8FCDA8D3F25B")), 1, false); // individual RI key - 2nd sector public/private key pair (Pseudonym) persoDataContainer.addRiKeyPair(CryptoUtil.reconstructKeyPair(13, HexString.toByteArray("04283BC17F2D95B9BE6E491456ADDA466101EA3D7ACA3BB325BAF96B580746723B041D0A7AFFA6DE683CBB6F9E68CABFF2B28DA8D65B5DF9679889155B4E92BABB"), HexString.toByteArray("77635293F8ED87B970C46C4B1109B6066B4517035524DA5069173B2526348F0F")), 2, true); } @Override protected void addEidDg13(DedicatedFile eIdAppl) { // do not create DG } }