in linux/sks.go [170:196]
func (tpm *tpmDevice) doKeyDeletion(keyID string, keyHandle tpmutil.Handle, mustExist bool) (err error) {
// Attempt to evict the key from the TPM
err = tpm2.EvictControl(
tpm.rwc,
"",
tpm2.HandleOwner,
keyHandle,
keyHandle,
)
if err != nil && mustExist {
return err
}
// Finally, delete from disk
db, err := diskio.OpenDB()
if err != nil {
return err
}
err = db.Delete(keyID)
if err != nil && mustExist {
return err
}
return nil
}