func()

in linux/sks.go [128:148]


func (tpm *tpmDevice) FindPubKey(keyID string) ([]byte, error) {
	// Load the stored key from disk
	key, err := tpm.LoadDiskKey(keyID)
	if err != nil {
		return nil, fmt.Errorf("could not find key %q: %w", keyID, err)
	}
	if key == nil {
		return nil, nil
	}
	if key.IsEmpty() {
		return nil, fmt.Errorf("key is empty: %q", keyID)
	}
	defer key.Close()

	pubKey, err := key.GetECPublicKey()
	if err != nil {
		return nil, fmt.Errorf("error getting public key for key %q: %w", keyID, err)
	}

	return elliptic.Marshal(elliptic.P256(), pubKey.X, pubKey.Y), nil
}