go-attestation/attest/tpm_other.go
Brandon Weeks 2bc8d58530 ParseEventLog fuzz target
A go-fuzz target for the ParseEventLog function. It has been tested
with go-fuzz and go-fuzz + libFuzzer.

oss-fuzz requires a statically built fuzzer binary, so `gofuzz` build
tags are added to avoid building files that depend on go-tspi. A mock
tpm_other.go file is also included to satisfy the `platformTPM`
interface.
2019-10-09 10:05:21 +11:00

68 lines
1.6 KiB
Go

// Copyright 2019 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
// +build gofuzz !linux,!windows
package attest
import (
"errors"
)
var unsupportedError = errors.New("tpm operations not supported from given build parameters")
type platformTPM struct {
}
func probeSystemTPMs() ([]probedTPM, error) {
return nil, unsupportedError
}
func openTPM(tpm probedTPM) (*TPM, error) {
return nil, unsupportedError
}
func (t *platformTPM) tpmVersion() TPMVersion {
return TPMVersionAgnostic
}
func (t *platformTPM) close() error {
return unsupportedError
}
func (t *platformTPM) info() (*TPMInfo, error) {
return nil, unsupportedError
}
func (t *platformTPM) loadAK(opaqueBlob []byte) (*AK, error) {
return nil, unsupportedError
}
func (t *platformTPM) eks() ([]EK, error) {
return nil, unsupportedError
}
func (t *platformTPM) newAK(opts *AKConfig) (*AK, error) {
return nil, unsupportedError
}
func (t *platformTPM) pcrs(alg HashAlg) ([]PCR, error) {
return nil, unsupportedError
}
func (t *platformTPM) measurementLog() ([]byte, error) {
return nil, unsupportedError
}