azure-security-attestation
Public Attributes | List of all members
Azure::Security::Attestation::Models::AttestationToken< T > Struct Template Referencefinal

An AttestationResult reflects the result of an Attestation operation. More...

#include <attestation_client_models.hpp>

Inheritance diagram for Azure::Security::Attestation::Models::AttestationToken< T >:
Azure::Security::Attestation::Models::AttestationTokenOptional< T >

Public Attributes

std::string RawToken
 The full RFC 7515 JWS/JWT token returned by the attestation service.
 
std::string SignedElements
 The elements of the raw token which will be signed by the Signature.
 
std::vector< uint8_t > Signature
 Signature (if present) for the attestation token.
 
Models::AttestationTokenHeader Header
 RFC 7515 header properties.
 
Azure::Nullable< Azure::DateTime > ExpiresOn
 
Azure::Nullable< Azure::DateTime > IssuedOn
 
Azure::Nullable< Azure::DateTime > NotBefore
 
Azure::Nullable< std::string > Issuer
 
Azure::Nullable< std::string > UniqueIdentifier
 
Azure::Nullable< std::string > Subject
 
Azure::Nullable< std::string > Audience
 
- Public Attributes inherited from Azure::Security::Attestation::Models::AttestationTokenOptional< T >
Body
 The deserialized body of the attestation token. More...
 

Detailed Description

template<typename T>
struct Azure::Security::Attestation::Models::AttestationToken< T >

The fields in the AttestationResult represent the claims in the AttestationToken returned by the attestation service.

When the attestation service returns a model type to the client, it embeds the response in an AttestationToken, which is an RFC7519 JSON Web Token. The AttestationToken type represents both the token and the embedded model type. In this scenario, the AttestationToken template will be specialized on the model type (In other words, AttestationToken<ModelType>).

There is another use for an AttestationToken object. That's when the model type for the attestation token is unknown, or when it is not meaningful in context.

For example, when the AttestationAdministrationClient::SetAttestationPolicy API returns, the resulting PolicyResult model type contains a PolicyTokenHash field. This field consists of the SHA256 hash of the policy document sent to the attestation service.

In order to verify that the attestation service correctly received the attestation policy sent by the client, the AttestationAdministrationClient::CreateAttestationPolicyToken API can be used to create an AttestationToken object which is not specialized on any type (AttestationToken<>). The RawToken field in that can be used to calculate the hash which was sent to the service.

Similarly, the AttestationTokenValidationOptions object has a TokenValidationCallback method. This callback is called to allow the client to perform additional validations of the attestation token beyond those normally performed by the attestation service. This callback should not know the model type associated with the token, so it receives an AttestationToken<> object.

Member Data Documentation

◆ Audience

template<typename T >
Azure::Nullable<std::string> Azure::Security::Attestation::Models::AttestationToken< T >::Audience

The audience for this attestation token.

See RFC 7519 Section 4.1.3 for more information.

◆ ExpiresOn

template<typename T >
Azure::Nullable<Azure::DateTime> Azure::Security::Attestation::Models::AttestationToken< T >::ExpiresOn

The Expiration time for this attestation token.

After this time, the token cannot be considered valid.

See RFC 7519 Section 4.1.4 for more information.

◆ IssuedOn

template<typename T >
Azure::Nullable<Azure::DateTime> Azure::Security::Attestation::Models::AttestationToken< T >::IssuedOn

The time at which this token was issued.

See RFC 7519 Section 4.1.6 for more information.

◆ Issuer

template<typename T >
Azure::Nullable<std::string> Azure::Security::Attestation::Models::AttestationToken< T >::Issuer

The issuer of this attestation token

See RFC 7519 Section 4.1.1 for more information.

◆ NotBefore

template<typename T >
Azure::Nullable<Azure::DateTime> Azure::Security::Attestation::Models::AttestationToken< T >::NotBefore

The time before which this token cannot be considered valid.

See RFC 7519 Section 4.1.5 for more information.

◆ Subject

template<typename T >
Azure::Nullable<std::string> Azure::Security::Attestation::Models::AttestationToken< T >::Subject

The subject for this attestation token.

See RFC 7519 Section 4.1.2 for more information.

◆ UniqueIdentifier

template<typename T >
Azure::Nullable<std::string> Azure::Security::Attestation::Models::AttestationToken< T >::UniqueIdentifier

An identifier which uniquely identifies this token.

See RFC 7519 Section 4.1.7 for more information.


The documentation for this struct was generated from the following file: