TBR: veyron2/security: Build and backward compatibility fix.

This commit fixes the build breakage for veyron/tools/identity
and also allows for identities generated without
https://veyron-review.googlesource.com/#/c/4308/
to be readable with binaries built after this commit.

Change-Id: I3861b1958b7e75edc2b375823f295b0a3dd3a0d1
diff --git a/security/caveat/public_key_caveat.go b/security/caveat/public_key_caveat.go
index 5b4884b..d07060b 100644
--- a/security/caveat/public_key_caveat.go
+++ b/security/caveat/public_key_caveat.go
@@ -1,7 +1,6 @@
 package caveat
 
 import (
-	"crypto/ecdsa"
 	"crypto/rand"
 	"crypto/sha256"
 	"encoding/binary"
@@ -143,7 +142,7 @@
 // discharge from a principal identified by the public key 'key' and present
 // at the object name 'location'. This discharging principal is expected to
 // validate 'caveat' before issuing a discharge.
-func NewPublicKeyCaveat(caveat security.Caveat, key *ecdsa.PublicKey, location string, requirements security.ThirdPartyRequirements) (security.ThirdPartyCaveat, error) {
+func NewPublicKeyCaveat(caveat security.Caveat, key security.PublicKey, location string, requirements security.ThirdPartyRequirements) (security.ThirdPartyCaveat, error) {
 	nonce := make([]uint8, nonceLength)
 	if _, err := rand.Read(nonce); err != nil {
 		return nil, err