0 txs
2 calls
constructor
No constructor.
functions
certIsNotExpired
viewfunction certIsNotExpired(bytes der) view returns (bool isValid)
getIssuerCommonName
purefunction getIssuerCommonName(bytes der) pure returns (string issuerCommonName)
getSerialNumber
purefunction getSerialNumber(bytes der) pure returns (uint256 serialNum)
getSubjectCommonName
purefunction getSubjectCommonName(bytes der) pure returns (string subjectCommonName)
getSubjectPublicKey
purefunction getSubjectPublicKey(bytes der) pure returns (bytes pubKey)
getTbsAndSig
purefunction getTbsAndSig(bytes der) pure returns (bytes tbs, bytes sig)
parsePckExtension
purefunction parsePckExtension(bytes der, uint256 extensionPtr) pure returns (uint16 pcesvn, uint8[] cpusvns, bytes fmspcBytes, bytes pceidBytes)
parseX509DER
purefunction parseX509DER(bytes der) pure returns (tuple cert)
events
No events.
errors
No errors.
creation bytecode
0x6080806040523460155761245d908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806335c757bd146100975780633b79a61e14610092578063634fdad51461008d5780636d3537a014610088578063b29b51cb14610083578063e81c707e1461007e578063ed333785146100795763fcf0be241461007457600080fd5b610920565b6108c8565b61076a565b6105b1565b610558565b6104ef565b61035f565b3461014d5761014961013d6100ab36610152565b61013761012d61012261011761010c6101016100f16100e66100d66100d1368b8d6106c3565b611545565b6100e1368b8d6106c3565b610acb565b6100e1368a8c6106c3565b6100fc36898b6106c3565b610bde565b6100fc36888a6106c3565b6100fc3687896106c3565b6100fc3686886106c3565b6100fc3685876106c3565b6100e183856109a0565b91610c03565b60405191829182610227565b0390f35b600080fd5b9060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261014d5760043567ffffffffffffffff811161014d578260238201121561014d5780600401359267ffffffffffffffff841161014d576024848301011161014d576024019190565b60005b8381106101d45750506000910152565b81810151838201526020016101c4565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610220815180928187528780880191016101c1565b0116010190565b9060206102389281815201906101e4565b90565b9061023891602081528151602082015261010061032b6102ee6102ba610272602087015161012060408801526101408701906101e4565b604087015160608701526060870151608087015260808701517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08783030160a08801526101e4565b60a08601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08683030160c08701526101e4565b60c085015160e085015260e08501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085830301848601526101e4565b920151906101207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828503019101526101e4565b3461014d576101496104de61037336610152565b919061037d6109ab565b926104d86104cd6103eb6104bd61049461046b61044b6104226104178a8d61040a6104058d6104006103f66103c46103b96100d136868b6106c3565b6100e136868b6106c3565b9d8e6103da816103d536888d6106c3565b610c67565b6101008901526100e136868b6106c3565b6100fc36858a6106c3565b95869236916106c3565b610c9e565b610cd8565b90526100fc368c8e6106c3565b6100fc368b8d6106c3565b61043b610434826100e1368d8f6106c3565b8a8c610c03565b60208d01526100fc368a8c6106c3565b61045681898b610d59565b60608d015260408c01526100fc36898b6106c3565b61048461047d826100e1368b8d6106c3565b888a610c03565b60808b01526100fc36888a6106c3565b6104ad6104a6826100e1368a8c6106c3565b8789610da3565b60a08a01526100fc3687896106c3565b60c08801526100fc3685876106c3565b6100fc3684866106c3565b91610f8c565b60e08201526040519182918261023b565b3461014d5761014961054461050336610152565b61013761053961012261011761010c61052e6105236100d136898b6106c3565b6100e136898b6106c3565b6100e136888a6106c3565b6100e13684866106c3565b6040519182916020835260208301906101e4565b3461014d5761014961054461056c36610152565b6105ab61053961012261011761010c6101016100f16105a06100d66105956100d1368c8e6106c3565b6100e1368c8e6106c3565b6100fc368a8c6106c3565b91610da3565b3461014d57602061060c6104056104006105ca36610152565b91906106046105f96105ee6105e36100d13688876106c3565b6100e13688876106c3565b6100e13687866106c3565b6100fc3686856106c3565b9236916106c3565b604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761068457604052565b610614565b67ffffffffffffffff811161068457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926106cf82610689565b916106dd6040519384610643565b82948184528183011161014d578281602093846000960137010152565b92909493919461ffff6080850191168452608060208501528551809152602060a0850196019060005b8181106107515750505084610743918461023896970360408601526101e4565b9160608184039101526101e4565b825160ff16885260209788019790920191600101610723565b3461014d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014d5760043567ffffffffffffffff811161014d573660238201121561014d576107ca9036906024816004013591016106c3565b602435907fa3000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000061082669ffffffffffffffffffff851684610a55565b51160361086a576108528161084161085e9461014994610acb565b9061084c8282610acb565b906111bd565b92949395909195610a66565b604051948594856106fa565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f7420616e20657874656e73696f6e000000000000000000000000000000006044820152fd5b3461014d5760206109016108db36610152565b6108fb6104cd61012261011761010c61052e6105236100d136898b6106c3565b91610d59565b9042119081610916575b506040519015158152f35b905042103861090b565b3461014d5761099261097e61014961093736610152565b61095661094b6100d19593953684886106c3565b6100e13684886106c3565b9061097861096c6103eb846100fc36868b6106c3565b926103d53684896106c3565b94610f8c565b6040519384936040855260408501906101e4565b9083820360208501526101e4565b6102389136916106c3565b60405190610120820182811067ffffffffffffffff8211176106845760405260606101008360008152826020820152600060408201526000838201528260808201528260a0820152600060c08201528260e08201520152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805115610a405760200190565b610a04565b805160011015610a405760210190565b908151811015610a40570160200190565b15610a6d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f696e76616c69642053475820657874656e73696f6e00000000000000000000006044820152fd5b7f200000000000000000000000000000000000000000000000000000000000000080610b0369ffffffffffffffffffff851684610a55565b511603610b23576102389160501c69ffffffffffffffffffff16906116be565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4e6f74206120636f6e73747275637465642074797065000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9060018201809211610bbe57565b610b81565b9060028201809211610bbe57565b91908201809211610bbe57565b9069ffffffffffffffffffff9060a01c1660018101809111610bbe57610238916116be565b610400906106046105f96105ee610238966100e13688876106c3565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211610bbe57565b6020039060208211610bbe57565b91908203918211610bbe57565b9069ffffffffffffffffffff8082169160a01c16906001820191828111610bbe57816001910301918211610bbe576102389261183c565b9069ffffffffffffffffffff808260501c169160a01c16906001820191828111610bbe57816001910301918211610bbe576102389261183c565b80516020039060208211610bbe577f1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82168203610bbe57602081519101519060208110610d29575b509060031b1c90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1638610d20565b610d9690610400610d746102389496956100e13689866106c3565b91610d9b610d96610d8a856100fc368c876106c3565b94610400368b866106c3565b611a5c565b9636916106c3565b610ed8610ed2610ecc610eb394610ec7610ec2610eb3610dda610e8098610dd2610ede9c6100fc3689856106c3565b9536916106c3565b9884610e407f03000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e3869ffffffffffffffffffff8f9a168a610a55565b511614611ea0565b610ead7fff00000000000000000000000000000000000000000000000000000000000000610ea669ffffffffffffffffffff8460501c169c8d809a610a55565b517fff000000000000000000000000000000000000000000000000000000000000001690565b16156117e6565b60a01c90565b69ffffffffffffffffffff1690565b610bb0565b610c5a565b92610bb0565b91610c1f565b9161183c565b6041815103610ef05761023890611f05565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636f6d70726573736564207075626c6963206b6579206e6f7420737570706f7260448201527f74656400000000000000000000000000000000000000000000000000000000006064820152608490fd5b90610f88602092828151948592016101c1565b0190565b69ffffffffffffffffffff610fa23684846106c3565b93610ff47f03000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000610e3885851689610a55565b60501c169160018301809311610bbe576110556110446110759261040061102e6110236102389860209a6116be565b6100e136858a6106c3565b95610604611049611044896104003688876106c3565b611fae565b976100fc3686856106c3565b60405194859361106e82860191828151948592016101c1565b0190610f75565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610643565b604051906110b0604083610643565b600982527f2a864886f84d010d0100000000000000000000000000000000000000000000006020830152565b604051906060820182811067ffffffffffffffff8211176106845760405260006040838281528260208201520152565b6040519061111b604083610643565b600a82527f2a864886f84d010d0102000000000000000000000000000000000000000000006020830152565b60405190611156604083610643565b600a82527f2a864886f84d010d0103000000000000000000000000000000000000000000006020830152565b60405190611191604083610643565b600a82527f2a864886f84d010d0104000000000000000000000000000000000000000000006020830152565b90929192600093600093606093849385938160a0925b6111de575b50505050565b6111e88185610acb565b7f060000000000000000000000000000000000000000000000000000000000000061124a611225610e8069ffffffffffffffffffff851689610a55565b7fff000000000000000000000000000000000000000000000000000000000000001690565b036114b95761126a61125c8287610c9e565b6112646110a1565b9061204c565b6112b3575061127f610eb360ff851683901c81565b61128f610eb360ff861685901c81565b11156112a95761129f9084610bde565b91825b90926111d3565b50600091826112a2565b90506112d29298969499506112cc915083979593610bde565b866120e0565b6112dc8187610acb565b6112f7610eb3610eb38a6112ee6110dc565b959060ff161c90565b905b82511515806114ac575b8061149f575b611491576113178189610acb565b7f0600000000000000000000000000000000000000000000000000000000000000611354611225610e8069ffffffffffffffffffff85168d610a55565b0361147d5761136e611366828b610c9e565b61126461110c565b61145a575b611388611380828b610c9e565b611264611147565b611438575b6113a261139a828b610c9e565b611264611182565b611417575b50816113b9610eb360ff8c1684901c81565b10156113ce576113c99088610bde565b6112f9565b5050919395509193505b805115159081611402575b816113f4575b5094388080806111d8565b6040015115159050386113e9565b90506114116020820151151590565b906113e3565b61142d9195506114279089610bde565b88610c9e565b6001835293386113a7565b935061144d611447858a610bde565b89610c9e565b600160208501529361138d565b9650611478955061146b87896122b0565b9115156040860152979096565b611373565b505050509295919450925060009493929190565b5050919395509193506113d8565b5060408301511515611309565b5060208301511515611303565b506000995050505050565b60ff166020039060ff8211610bbe57565b60ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd09116019060ff8211610bbe57565b60031b906107f860f8831692168203610bbe57565b60ff60649116029060ff8216918203610bbe57565b60ff600a9116029060ff8216918203610bbe57565b6102389060007f8000000000000000000000000000000000000000000000000000000000000000611581610e8061157b84610bb0565b85610a55565b166115ed57506115aa6115a4610e806115b09361159e6000610bb0565b90610a55565b60f81c90565b60ff1690565b69ffffffffffffffffffff806115e0610eb36115db6115d2610eb36000610bc3565b95848716610bd1565b610c1f565b1660a01b911660501b1790565b9069ffffffffffffffffffff61165c610eb36115db6115d2610eb38596607f611621610e8061161b8c610bb0565b84610a55565b60f81c168099600182146000146116615750506115aa61164b916116456000610bc3565b90612407565b975b6116576000610bc3565b610bd1565b6115e0565b6002820361168f5750506116826116899161167c6000610bc3565b906123e9565b61ffff1690565b9761164d565b90611689926116a06116a693610bc3565b9061239a565b6116b76116b28b6114c4565b611506565b60ff161c90565b90610238917f80000000000000000000000000000000000000000000000000000000000000006116f3610e8061161b85610bb0565b16611749576115aa6115a4610e8061170e9361159e86610bb0565b9069ffffffffffffffffffff80611739610eb36115db611730610eb387610bc3565b96848816610bd1565b1692169160a01b9160501b171790565b9069ffffffffffffffffffff806117a4610eb36115db611730610eb3607f61177c610e806117768b610bb0565b8c610a55565b60f81c169860018a036117a9576115aa611799916116458b610bc3565b985b61165789610bc3565b611739565b89600281036117c957506116826117c39161167c8b610bc3565b9861179b565b6117da906117c3926116a08c610bc3565b6116b76116b28c6114c4565b1561014d57565b906117f782610689565b6118046040519182610643565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06118328294610689565b0190602036910137565b90828101808211610bbe5782511061014d5760209061185a846117ed565b9392010160208301915b60208110156118be57806118a457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905b518251821691191617905290565b6115db6118b36118b892610c4c565b612418565b90611896565b90918251815260208101809111610bbe579160208101809111610bbe57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019081111561186457610b81565b61ffff6103e89116029061ffff8216918203610bbe57565b61ffff169061ffff8211610bbe57565b61ffff61076c9116019061ffff8211610bbe57565b61ffff6107d09116019061ffff8211610bbe57565b9061ffff8091169116019061ffff8211610bbe57565b60ff169060ff8211610bbe57565b60ff60019116019060ff8211610bbe57565b60ff60029116019060ff8211610bbe57565b60ff60039116019060ff8211610bbe57565b60ff60049116019060ff8211610bbe57565b60ff60059116019060ff8211610bbe57565b60ff60069116019060ff8211610bbe57565b60ff60079116019060ff8211610bbe57565b60ff60089116019060ff8211610bbe57565b60ff60099116019060ff8211610bbe57565b60ff600a9116019060ff8211610bbe57565b60ff600b9116019060ff8211610bbe57565b9060ff8091169116019060ff8211610bbe57565b600090600091600d825114600014611e4957600560ff611a89611a846115a4610e8087610a33565b6114d5565b161015611e3b57611a9990611949565b611aa283611974565b60ff16611aaf9083610a55565b51611abc9060f81c6114d5565b611ac590611530565b611ace84611982565b60ff16611adb9084610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611b0a91611a48565b611b13906114d5565b60ff16611b1f9161195e565b91611b2981611994565b60ff16611b369083610a55565b51611b439060f81c6114d5565b611b4c90611530565b611b55826119a6565b60ff16611b629084610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611b9191611a48565b611b9a906114d5565b611ba3826119b8565b60ff16611bb09084610a55565b51611bbd9060f81c6114d5565b611bc690611530565b611bcf836119ca565b60ff16611bdc9085610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611c0b91611a48565b611c14906114d5565b611c1d90611974565b90611c27836119dc565b60ff16611c349085610a55565b51611c419060f81c6114d5565b611c4a90611530565b611c53846119ee565b60ff16611c609086610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611c8f91611a48565b611c98906114d5565b611ca190611974565b92611cab81611a00565b60ff16611cb89086610a55565b51611cc59060f81c6114d5565b611cce90611530565b611cd782611a12565b60ff16611ce49087610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611d1391611a48565b611d1c906114d5565b611d2590611974565b94611d2f82611a24565b60ff16611d3c9082610a55565b51611d499060f81c6114d5565b611d5290611530565b91611d5c90611a36565b60ff16611d6891610a55565b517fff000000000000000000000000000000000000000000000000000000000000001660f81c611d9791611a48565b611da0906114d5565b611da990611974565b60ff169360ff169260ff169160ff169060ff169461ffff1694610238959362023ab16101907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff50593936201518095969760038210900393610e10603c8487069202990297610301600c60096064850495010661f4ff0201600b1c019061016d8160021c910201010392040201010201010190565b611e4490611934565b611a99565b509050611e97611e92611e6f60ff611e69611a846115a4610e8088610a33565b1661190c565b611e8c6115aa611e87611a846115a4610e8089610a45565b61151b565b9061195e565b611924565b90600291611a99565b15611ea757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4e6f7420747970652042495420535452494e47000000000000000000000000006044820152fd5b90815160408114600014611f165750565b6040811015611f7657611f2960406117ed565b92816040039060408211610bbe5760005b838110611f475750505050565b80611f57610e8060019385610a55565b611f6f611f648387610bd1565b9160001a9189610a55565b5301611f3a565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201918211610bbe576102389160409161183c565b90815160208114600014611fbf5750565b602081101561201457611fd260206117ed565b92816020039060208211610bbe5760005b838110611ff05750505050565b80612000610e8060019385610a55565b61200d611f648387610bd1565b5301611fe3565b90917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201918211610bbe576102389160209161183c565b9081518151036120d95760005b82518110156120d1577fff0000000000000000000000000000000000000000000000000000000000000061208d8285610a55565b51167fff000000000000000000000000000000000000000000000000000000000000006120ba8385610a55565b5116036120c957600101612059565b505050600090565b505050600190565b5050600090565b7f04000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000061213869ffffffffffffffffffff851684610a55565b511603612158576102389160501c69ffffffffffffffffffff16906116be565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f742074797065204f4354455420535452494e4700000000000000000000006044820152fd5b60405161022091906121c88382610643565b60108152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b90602082519201517fffff0000000000000000000000000000000000000000000000000000000000008116926002811061222f575050565b7fffff000000000000000000000000000000000000000000000000000000000000929350829060020360031b1b161690565b60405190612270604083610643565b600b82527f2a864886f84d010d0102110000000000000000000000000000000000000000006020830152565b8051821015610a405760209160051b010190565b6122c56122bf60009383610bde565b82610acb565b6122cd6121b6565b9160006011915b8282106122e45750505050600192565b909192946122f28683610acb565b9061234661233e61230c6123068587610bde565b86610c9e565b60028151106000146123885761232d612327612336926121f7565b60f01c90565b60081c60ff1690565b935b85610c9e565b611264612261565b15612363575061235a600191965b83610bde565b939201906122d4565b9561235a9061238360ff6001941661237b878a61229c565b9060ff169052565b612354565b612327612394916121f7565b93612338565b91906020821161014d57818101808211610bbe5783511061014d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209283036101000a0119920101511690565b60028201808311610bbe5781511061014d57016002015161ffff1690565b9061241191610a55565b5160f81c90565b601f8111610bbe576101000a9056fea2646970667358221220b8d0c21fefd760d75bd44a4aa43db84e1da5567ed88bdc2f971297035b544c1164736f6c634300081b0033