package oid import ( "encoding/asn1" ) // ATLSNonce is the ASN.1 object identifier used to transmit a nonce from server to client. var ATLSNonce = asn1.ObjectIdentifier{1, 3, 9900, 0, 1} // Getter returns an ASN.1 Object Identifier. type Getter interface { OID() asn1.ObjectIdentifier } // Here we define OIDs for different CSPs. Currently this is used in attested TLS to distinguish the attestation documents. // OIDs beginning with 1.3.9900 are reserved and can be used without registration. // Dummy OID for testing. type Dummy struct{} // OID returns the struct's object identifier. func (Dummy) OID() asn1.ObjectIdentifier { return asn1.ObjectIdentifier{1, 3, 9900, 1} } // AWS holds the AWS OID. type AWS struct{} // OID returns the struct's object identifier. func (AWS) OID() asn1.ObjectIdentifier { return asn1.ObjectIdentifier{1, 3, 9900, 2} } // GCP holds the GCP OID. type GCP struct{} // OID returns the struct's object identifier. func (GCP) OID() asn1.ObjectIdentifier { return asn1.ObjectIdentifier{1, 3, 9900, 3} } // Azure holds the Azure OID. type Azure struct{} // OID returns the struct's object identifier. func (Azure) OID() asn1.ObjectIdentifier { return asn1.ObjectIdentifier{1, 3, 9900, 4} } // QEMU holds the QEMU OID. type QEMU struct{} // OID returns the struct's object identifier. func (QEMU) OID() asn1.ObjectIdentifier { return asn1.ObjectIdentifier{1, 3, 9900, 5} }