The result of Tspex.verify/3: a token that passed every check.
Fields:
:info- theTspex.TSTInfo, now that the signature and the certificate vouch for it.info.gen_timeis the time the TSA says.:token- the verifiedContentInfo, to keep: it is the time-stamp proper, andverify/3takes it back months later.:status-:grantedor:granted_with_modswhen a whole response was verified,nilfor a token that came alone.:signer-%{certificate: der, path: [der] | nil, signer_info: Cmsex.SignerInfo.t()}: the certificate of the TSA, the certificate path from the root to it (root first,nilwithtrust: :none) and the signer of the token.:certificates- the certificates that came in the token, in DER.:trust-:validatedwhen the path leads to one of the:trustroots,:nonewithtrust: :none, which proves only that a key signed this imprint.:revocation-:checkedwhen the:revocationfunction accepted the path,:not_checkedotherwise: nothing has said the certificate of the TSA was not revoked.:deviations- what was tolerated against the RFC::gen_time_encoding(agenTimethat is not in DER),:unrequested_certificates(the request hadcert_req: falseand the token carries certificates),:cert_req_not_honored(the request asked for the certificate and the token has none), and what the CMS layer tolerated.
inspect/1 shows the size of the token, not its bytes.
Summary
Types
The certificate of the TSA, its path from the root and the signer of the token.
What Tspex.verify/3 proves; the fields are described above.
Types
@type signer() :: %{ certificate: binary(), path: [binary()] | nil, signer_info: Cmsex.SignerInfo.t() }
The certificate of the TSA, its path from the root and the signer of the token.
@type t() :: %Tspex.Verified{ certificates: [binary()], deviations: [atom()], info: Tspex.TSTInfo.t(), revocation: :checked | :not_checked, signer: signer(), status: :granted | :granted_with_mods | nil, token: binary(), trust: :validated | :none }
What Tspex.verify/3 proves; the fields are described above.