...

Source file src/github.com/Microsoft/hcsshim/internal/tools/snp-report/fake/report.go

Documentation: github.com/Microsoft/hcsshim/internal/tools/snp-report/fake

     1  //go:build linux
     2  // +build linux
     3  
     4  package fake
     5  
     6  import (
     7  	"encoding/hex"
     8  	"fmt"
     9  
    10  	"github.com/Microsoft/hcsshim/pkg/amdsevsnp"
    11  )
    12  
    13  const fakeSNPReport = "01000000010000001f00030000000000010000000000000000000000000000000200000000000000000000000000000000000000010000000000000000000028010000000000000000000000000000007ab000a323b3c873f5b81bbe584e7c1a26bcf40dc27e00f8e0d144b1ed2d14f10000000000000000000000000000000000000000000000000000000000000000e29af700e85b39996fa38226d2804b78cad746ffef4477360a61b47874bdecd640f9d32f5ff64a55baad3c545484d9ed28603a3ea835a83bd688b0ec1dcb36b6b8c22412e5b63115b75db8628b989bc598c475ca5f7683e8d351e7e789a1baff19041750567161ad52bf0d152bd76d7c6f313d0a0fd72d0089692c18f521155800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040aea62690b08eb6d680392c9a9b3db56a9b3cc44083b9da31fb88bcfc493407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000028000000000000000000000000000000000000000000000000e6c86796cd44b0bc6b7c0d4fdab33e2807e14b5fc4538b3750921169d97bcf4447c7d3ab2a7c25f74c1641e2885c1011d025cc536f5c9a2504713136c7877f480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003131c0f3e7be5c6e400f22404596e1874381e99d03de45ef8b97eee0a0fa93a4911550330343f14dddbbd6c0db83744f000000000000000000000000000000000000000000000000db07c83c5e6162c2387f3b76cd547672657f6a5df99df98efee7c15349320d83e086c5003ec43050a9b18d1c39dedc340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
    14  
    15  // FetchRawSNPReport hex decodes fakeSNPReport.
    16  func FetchRawSNPReport() ([]byte, error) {
    17  	return hex.DecodeString(fakeSNPReport)
    18  }
    19  
    20  // FetchSNPReport returns amdsev.Report object that corresponds to the decoded
    21  // version of fakeSNPReport. Overrides the resulting report's HostData field
    22  // with provided `hostData`.
    23  func FetchSNPReport(hostData string) (amdsevsnp.Report, error) {
    24  	if hostData == "" {
    25  		hostData = "28603a3ea835a83bd688b0ec1dcb36b6b8c22412e5b63115b75db8628b989bc5"
    26  	}
    27  	hdBytes, err := hex.DecodeString(hostData)
    28  	if err != nil {
    29  		return amdsevsnp.Report{}, fmt.Errorf("failed to decode host data: %w", err)
    30  	}
    31  	r := amdsevsnp.Report{
    32  		Version:          1,
    33  		GuestSVN:         1,
    34  		Policy:           0x03001f,
    35  		FamilyID:         "00000000000000000000000000000001",
    36  		ImageID:          "00000000000000000000000000000001",
    37  		VMPL:             0,
    38  		SignatureAlgo:    1,
    39  		PlatformVersion:  0x2800000000000000,
    40  		PlatformInfo:     1,
    41  		AuthorKeyEn:      0,
    42  		ReportData:       "7ab000a323b3c873f5b81bbe584e7c1a26bcf40dc27e00f8e0d144b1ed2d14f10000000000000000000000000000000000000000000000000000000000000000",
    43  		Measurement:      "e29af700e85b39996fa38226d2804b78cad746ffef4477360a61b47874bdecd640f9d32f5ff64a55baad3c545484d9ed",
    44  		HostData:         hdBytes[:],
    45  		IDKeyDigest:      "98c475ca5f7683e8d351e7e789a1baff19041750567161ad52bf0d152bd76d7c6f313d0a0fd72d0089692c18f5211558",
    46  		AuthorKeyDigest:  "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    47  		ReportID:         "40aea62690b08eb6d680392c9a9b3db56a9b3cc44083b9da31fb88bcfc493407",
    48  		ReportIDMA:       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    49  		ReportTCB:        0x2800000000000000,
    50  		ChipID:           "e6c86796cd44b0bc6b7c0d4fdab33e2807e14b5fc4538b3750921169d97bcf4447c7d3ab2a7c25f74c1641e2885c1011d025cc536f5c9a2504713136c7877f48",
    51  		CommittedSVN:     "0000000000000000",
    52  		CommittedVersion: "0000000000000000",
    53  		LaunchSVN:        "0000000000000000",
    54  		Signature:        "3131c0f3e7be5c6e400f22404596e1874381e99d03de45ef8b97eee0a0fa93a4911550330343f14dddbbd6c0db83744f000000000000000000000000000000000000000000000000db07c83c5e6162c2387f3b76cd547672657f6a5df99df98efee7c15349320d83e086c5003ec43050a9b18d1c39dedc340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    55  	}
    56  	return r, nil
    57  }
    58  

View as plain text