0 txs
58.1k calls
constructor
constructor(address _storage, address _p256, address _x509, address _crl)
functions
crlLib
viewfunction crlLib() view returns (address)
getAttestedData
viewfunction getAttestedData(bytes32 key) view returns (bytes attestationData)
getCertificateById
viewfunction getCertificateById(uint8 ca) view returns (bytes cert, bytes crl)
getCollateralHash
viewfunction getCollateralHash(bytes32 key) view returns (bytes32 collateralHash)
P256_VERIFIER
viewfunction P256_VERIFIER() view returns (address)
PCS_KEY
purefunction PCS_KEY(uint8 ca, bool isCrl) pure returns (bytes32 key)
resolver
viewfunction resolver() view returns (address)
x509
viewfunction x509() view returns (address)
upsertPckCrl
nonpayablefunction upsertPckCrl(uint8 ca, bytes crl) returns (bytes32 attestationId)
upsertPcsCertificates
nonpayablefunction upsertPcsCertificates(uint8 ca, bytes cert) returns (bytes32 attestationId)
upsertRootCACrl
nonpayablefunction upsertRootCACrl(bytes rootcacrl) returns (bytes32 attestationId)
events
No events.
errors
Certificate_Expired
error Certificate_Expired()
Certificate_Revoked
error Certificate_Revoked(uint8 ca, uint256 serialNum)
Expired_Certificates
error Expired_Certificates()
Invalid_Issuer_Name
error Invalid_Issuer_Name()
Invalid_PCK_CA
error Invalid_PCK_CA(uint8 ca)
Invalid_Signature
error Invalid_Signature()
Invalid_Subject_Name
error Invalid_Subject_Name()
Missing_Certificate
error Missing_Certificate(uint8 ca)
Missing_Issuer
error Missing_Issuer()
Root_Key_Mismatch
error Root_Key_Mismatch()
TCB_Mismatch
error TCB_Mismatch()
creation bytecode
0x60c03461010357601f61242638819003918201601f19168301916001600160401b0383118484101761010857808492608094604052833981010312610103576100478161011e565b906100546020820161011e565b61006c60606100656040850161011e565b930161011e565b6001600160a01b0393841660805260a091909152600080549284166001600160a01b0319938416179055600180549190931691161790556040516122f39081610133823960805181818161011201528181610fc6015281816112a9015281816119a301528181611a4b01528181611b4b01528181611bea01528181611c730152611e09015260a051818181610c7901526120010152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101035756fe6080604052600436101561001257600080fd5b60003560e01c806304f3bcec146100c757806308854e04146100c257806337b8762d146100bd5780633b395455146100b8578063536c633d146100b35780636b1c5399146100ae578063722f1327146100a9578063b13bf290146100a4578063b414d0b21461009f578063bf721aaf1461009a5763ec950d331461009557600080fd5b611387565b611256565b61122e565b611135565b610f6b565b610c9d565b610c2e565b6105d4565b610582565b6101d3565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b60043590600482101561013657565b9181601f840112156101365782359167ffffffffffffffff8311610136576020838186019501011161013657565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261013657600435600481101561013657916024359067ffffffffffffffff8211610136576101cf9160040161014a565b9091565b34610136576101e136610178565b919060048210156105535781158015610540575b61050f57600061023661021d60015473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b906040517fa91105ce0000000000000000000000000000000000000000000000000000000081526020818061026f8988600484016116c6565b0381865afa9081156104125782916104e0575b50156104b8576040517f634fdad50000000000000000000000000000000000000000000000000000000081528181806102bf8988600484016116c6565b0381865afa908115610412576103229161031e918491610496575b506102e4876113d9565b60028714808015610483575b15610474576102fe886113d9565b156104675761030b611835565b6020815191012090602081519101201490565b1590565b61043f578060405180937ffcf0be24000000000000000000000000000000000000000000000000000000008252818061035f8a89600484016116c6565b03915afa80156104125781928291610417575b50602082604051806103848188611924565b039060025afa156104125761031e6103a8918351906103a288611cf9565b91611d3d565b6103ea576103e66103d686866103d1876103c98860208151910120936115c7565b9336916114af565b61193b565b6040519081529081906020820190565b0390f35b807fe7ef341f0000000000000000000000000000000000000000000000000000000060049252fd5b61170c565b90506104369192503d8084833e61042e818361142f565b8101906118db565b91909138610372565b807f1e7ab5990000000000000000000000000000000000000000000000000000000060049252fd5b61046f6117fa565b61030b565b5061047d611784565b90610721565b5061048d886113d9565b600188146102f0565b6104b291503d8086833e6104aa818361142f565b81019061174d565b386102da565b807fdba942a20000000000000000000000000000000000000000000000000000000060049252fd5b610502915060203d602011610508575b6104fa818361142f565b8101906116b1565b38610282565b503d6104f0565b61053c827f9849e774000000000000000000000000000000000000000000000000000000006000526113f0565b6000fd5b5061054a826113d9565b600382146101f5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b34610136576105e236610178565b61060761021d61021d60005473ffffffffffffffffffffffffffffffffffffffff1690565b926040517fed333785000000000000000000000000000000000000000000000000000000008152602081806106408688600484016116c6565b0381885afa90811561041257600091610c0f575b5015610be5576040517f634fdad5000000000000000000000000000000000000000000000000000000008152600081806106928688600484016116c6565b0381885afa90811561041257600091610bca575b506040517f35c757bd000000000000000000000000000000000000000000000000000000008152600081806106df8789600484016116c6565b0381895afa90811561041257600091610baf575b506106fc611784565b6060610707856113d9565b60028503610b2e575061031e6107359161071f611835565b945b906020815191012090602081519101201490565b610b04576107559161031e91906020815191012090602081519101201490565b610ada576107696107646114e6565b611a06565b610772826113d9565b811590811561098657506040517f6d3537a0000000000000000000000000000000000000000000000000000000008152600081806107b48789600484016116c6565b0381895afa8015610412577f89f72d7c488e5b53a77c23ebcb36970ef7eb5bcf6658e9b8292cfbe4703a847391600091610963575b506020815191012003610939575b6107ff611ce4565b600060405180977ffcf0be240000000000000000000000000000000000000000000000000000000082528180610839898b600484016116c6565b03915afa90811561041257600096879261091b575b506020600060405180610861818c611924565b039060025afa156104125760005192610879856113d9565b156108d957509061088f916103a23686886114af565b156108af576103d16103d6936103c98660206103e6985191012093611553565b7fe7ef341f0000000000000000000000000000000000000000000000000000000060005260046000fd5b8051909190156108f1576108ec92611d3d565b61088f565b7fcd69d3740000000000000000000000000000000000000000000000000000000060005260046000fd5b909661093192503d8091833e61042e818361142f565b90953861084e565b7fe1406f790000000000000000000000000000000000000000000000000000000060005260046000fd5b61098091503d806000833e610978818361142f565b8101906118b5565b386107e9565b8051610993575b506107f7565b604051907fb29b51cb000000000000000000000000000000000000000000000000000000008252602082806109cc888a600484016116c6565b03818a5afa91821561041257600092610aa4575b506020610a3e91610a0961021d60015473ffffffffffffffffffffffffffffffffffffffff1690565b60405180809581947fcedb97810000000000000000000000000000000000000000000000000000000083528860048401611870565b03915afa90811561041257600091610a85575b501561098d5761053c90837f291990cd00000000000000000000000000000000000000000000000000000000600052611887565b610a9e915060203d602011610508576104fa818361142f565b38610a51565b610a3e919250610acb602091823d8411610ad3575b610ac3818361142f565b8101906116a2565b9291506109e0565b503d610ab9565b7f92ec707e0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f1e7ab5990000000000000000000000000000000000000000000000000000000060005260046000fd5b610b37856113d9565b60018503610b55575061031e61073591610b4f6117fa565b94610721565b610b5e856113d9565b60038503610b76575061031e61073591610b4f6117bf565b92610b80856113d9565b8415610b94575b6107359161031e91610721565b925061031e61073591610ba5611784565b9491509150610b87565b610bc491503d806000833e6104aa818361142f565b386106f3565b610bdf91503d806000833e6104aa818361142f565b386106a6565b7fdba942a20000000000000000000000000000000000000000000000000000000060005260046000fd5b610c28915060203d602011610508576104fa818361142f565b38610654565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461013657600060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610eda5760043567ffffffffffffffff8111610ed857610cee90369060040161014a565b600154919291610d139073ffffffffffffffffffffffffffffffffffffffff1661021d565b916040517fa91105ce00000000000000000000000000000000000000000000000000000000815260208180610d4c8689600484016116c6565b0381875afa908115610412578291610eb9575b50156104b8576040517f634fdad5000000000000000000000000000000000000000000000000000000008152818180610d9c8689600484016116c6565b0381875afa8015610412578261031e92610dd29492610e9d575b50610dc0816113d9565b610dc9816113d9565b5061030b611784565b610b0457600060405180937ffcf0be240000000000000000000000000000000000000000000000000000000082528180610e108689600484016116c6565b03915afa8015610412576000928391610e7e575b506020600060405180610e378188611924565b039060025afa156104125761031e610e5791600051906103a26000611cf9565b6108af576020926103d18385610e769551910120916103c960006115c7565b604051908152f35b9050610e9491923d8091833e61042e818361142f565b91909138610e24565b610eb29192503d8084833e6104aa818361142f565b9038610db6565b610ed2915060203d602011610508576104fa818361142f565b38610d5f565b505b80fd5b60005b838110610ef05750506000910152565b8181015183820152602001610ee0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610f3c81518092818752878088019101610edd565b0116010190565b9091610f5a610f6893604084526040840190610f00565b916020818403910152610f00565b90565b346101365760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657610fa261013b565b610fab81611553565b9060609173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604051907f5c975abb000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156104125760009261110a575b50811561109b575b50611089575b5081511561105c5761104761104c916115c7565b611dee565b906103e660405192839283610f43565b61053c907f33247a8a000000000000000000000000000000000000000000000000000000006000526113f0565b611094919250611a06565b9038611033565b6040517f59d14b410000000000000000000000000000000000000000000000000000000081523360048201529150602090829060249082905afa908115610412576000916110eb575b503861102d565b611104915060203d602011610508576104fa818361142f565b386110e4565b61112491925060203d602011610508576104fa818361142f565b9038611025565b8015150361013657565b346101365760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101365761116c61013b565b602435906111798261112b565b600481101561055357602091604051907fff00000000000000000000000000000000000000000000000000000000000000848301937fe90e3dc700000000000000000000000000000000000000000000000000000000855260f81b166024830152151560f81b6025820152600681526111f360268261142f565b519020604051908152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60209101126101365760043590565b34610136576103e6611242610764366111fe565b604051918291602083526020830190610f00565b3461013657611264366111fe565b6040517fe973fddc000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690600090602081602481865afa8015610412576113239383928392611366575b5060405180809681947f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b03915afa80156104125760209282610e76939261134b575b50508280825183010191016116a2565b61135f92503d8091833e610978818361142f565b388061133b565b61138091925060203d602011610ad357610ac3818361142f565b90386112e9565b346101365760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013657602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b6004111561055357565b9060048210156105535752565b906113fe60046024936113e3565b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761147057604052565b611400565b67ffffffffffffffff811161147057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926114bb82611475565b916114c9604051938461142f565b829481845281830111610136578281602093846000960137010152565b60405160208101907fe90e3dc7000000000000000000000000000000000000000000000000000000008252600060248201527f010000000000000000000000000000000000000000000000000000000000000060258201526006815261154d60268261142f565b51902090565b6004811015610553576040517fff0000000000000000000000000000000000000000000000000000000000000060208201927fe90e3dc700000000000000000000000000000000000000000000000000000000845260f81b166024820152600060258201526006815261154d60268261142f565b6004811015610553576040517fff0000000000000000000000000000000000000000000000000000000000000060208201927fe90e3dc700000000000000000000000000000000000000000000000000000000845260f81b1660248201527f010000000000000000000000000000000000000000000000000000000000000060258201526006815261154d60268261142f565b60405160208101907fe90e3dc700000000000000000000000000000000000000000000000000000000825260006024820152600060258201526006815261154d60268261142f565b90816020910312610136575190565b908160209103126101365751610f688161112b565b90601f836040947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093602086528160208701528686013760008582860101520116010190565b6040513d6000823e3d90fd5b9092919261172581611475565b91611733604051938461142f565b8294828452828201116101365760206113fe930190610edd565b6020818303126101365780519067ffffffffffffffff821161013657019080601f83011215610136578151610f6892602001611718565b6040519061179360408361142f565b601182527f496e74656c2053475820526f6f742043410000000000000000000000000000006020830152565b604051906117ce60408361142f565b601582527f496e74656c2053475820544342205369676e696e6700000000000000000000006020830152565b6040519061180960408361142f565b601a82527f496e74656c205347582050434b2050726f636573736f722043410000000000006020830152565b6040519061184460408361142f565b601982527f496e74656c205347582050434b20506c6174666f726d204341000000000000006020830152565b604090610f68939281528160208201520190610f00565b919061189660046044946113e3565b602452565b9080601f83011215610136578151610f6892602001611718565b9060208282031261013657815167ffffffffffffffff811161013657610f68920161189b565b91909160408184031261013657805167ffffffffffffffff8111610136578361190591830161189b565b92602082015167ffffffffffffffff811161013657610f68920161189b565b9061193760209282815194859201610edd565b0190565b61198292604092835194859384937f5778ea320000000000000000000000000000000000000000000000000000000085526004850152606060248501526064840190610f00565b9060448301520381600073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1908115610412576000916119d7575090565b90506040813d6040116119fe575b816119f26040938361142f565b81010312610136575190565b3d91506119e5565b6040517f7fc1ca02000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690602081602481855afa801561041257611ac3926000928392611aee575b5060405180809581947f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b03915afa90811561041257600091611ad9575090565b610f6891503d806000833e610978818361142f565b611b0891925060203d602011610ad357610ac3818361142f565b9038611a89565b9015611c3d576040517fe973fddc00000000000000000000000000000000000000000000000000000000815260048101919091526020816024817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff165afa90811561041257611bd1916000918291611c1e575b505b604051809381927f9e5464b2000000000000000000000000000000000000000000000000000000008352600483019190602083019252565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561041257600091611ad9575090565b611c37915060203d602011610ad357610ac3818361142f565b38611b97565b6040517f7fc1ca0200000000000000000000000000000000000000000000000000000000815260048101919091526020816024817f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff165afa90811561041257611bd1916000918291611cc5575b50611b99565b611cde915060203d602011610ad357610ac3818361142f565b38611cbf565b611cee60006113d9565b610f6861076461165a565b600481101561055357600281148015611d2a575b15611d1e57610764610f6891611553565b50610f6861076461165a565b50611d34816113d9565b60018114611d0d565b91906040815103611dc9576000611da39273ffffffffffffffffffffffffffffffffffffffff808354161660405180809681947f6d3537a00000000000000000000000000000000000000000000000000000000083526020600484018181520190610f00565b03915afa91821561041257600092611dd1575b506040825103611dc957610f6892611f8d565b505050600090565b611de79192503d806000833e610978818361142f565b9038611db6565b9060609173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016604051907f5c975abb000000000000000000000000000000000000000000000000000000008252602082600481845afa91821561041257600092611ef5575b508115611e86575b50611e785750565b610f68919250600090611b0f565b6040517f59d14b410000000000000000000000000000000000000000000000000000000081523360048201529150602090829060249082905afa90811561041257600091611ed6575b5038611e70565b611eef915060203d602011610508576104fa818361142f565b38611ecf565b611f0f91925060203d602011610508576104fa818361142f565b9038611e68565b602081519101519060208110611f2a575090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060200360031b1b1690565b15611f5e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000809161206293600195611fb5611faa611faf611faa856120a0565b611f16565b936121af565b90611fce611faa611fc8611faa846120a0565b926121af565b91604051936020850195865260408501526060840152608083015260a082015260a08152611ffd60c08261142f565b51907f00000000000000000000000000000000000000000000000000000000000000005afa3d15612066576120533d9161203683611475565b92612044604051948561142f565b83523d6000602085013e611f57565b602080825183010191016116a2565b1490565b612053606091611f57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8051602011610136576120b36020611475565b906120c1604051928361142f565b602082526120cf6020611475565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0602084019101368237602080920190915b6020811015612160578061214157507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905b518251821691191617905290565b61215561215061215a92612273565b6122ae565b612281565b90612133565b909182518152602081018091116121aa5791602081018091116121aa57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810190811115612101575b612071565b8051604011610136576121c26020611475565b906121d0604051928361142f565b602082526121de6020611475565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840191013682379060400160205b6020811015612225578061214157509192915050565b909182518152602081018091116121aa5791602081018091116121aa57907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019081111561220f57612071565b60200390602082116121aa57565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116121aa57565b601f81116121aa576101000a9056fea264697066735822122061345bc5c6648560bd5e0df6b22fd640f10bf899e17f0e92fa777b2afafe5a8f64736f6c634300081b00330000000000000000000000002bbc0ccc218e63ad4d2bbb7bde1375b092fd38a200000000000000000000000000000000000000000000000000000000000001000000000000000000000000004aca9c0eb063401c9f5c2fc4487dbc5ccf1c9e2b0000000000000000000000006e204feae40f668a06e78a83b66185ffc8892dda