func (km *bbsVerifierKeyManager) NewKeyData(serializedKeyFormat []byte) (*tinkpb.KeyData, error) {
	return nil, errors.New("bbs_verifier_key_manager: NewKeyData not implemented")
}
NewKeyData is not implemented for public key manager.
package bbs
import (
	"errors"
	"fmt"
	"github.com/golang/protobuf/proto"
	"github.com/google/tink/go/keyset"
	tinkpb "github.com/google/tink/go/proto/tink_go_proto"
	"github.com/hyperledger/aries-framework-go/pkg/crypto/tinkcrypto/primitive/bbs/subtle"
	bbspb "github.com/hyperledger/aries-framework-go/pkg/crypto/tinkcrypto/primitive/proto/bbs_go_proto"
)
const (
	bbsVerifierKeyVersion = 0
	bbsVerifierKeyTypeURL = "type.hyperledger.org/hyperledger.aries.crypto.tink.BBSPublicKey"
)
var errInvalidBBSVerifierKey = errors.New("bbs_verifier_key_manager: invalid key")
type bbsVerifierKeyManager struct{}
func newBBSVerifierKeyManager() *bbsVerifierKeyManager {
	return new(bbsVerifierKeyManager)
}
func (km *bbsVerifierKeyManager) Primitive(serializedKey []byte) (interface{}, error) {
	if len(serializedKey) == 0 {
		return nil, errInvalidBBSVerifierKey
	}
	bbsPubKey := new(bbspb.BBSPublicKey)
	err := proto.Unmarshal(serializedKey, bbsPubKey)
	if err != nil {
		return nil, errInvalidBBSVerifierKey
	}
	err = km.validateKey(bbsPubKey)
	if err != nil {
		return nil, errInvalidBBSVerifierKey
	}
	return subtle.NewBLS12381G2Verifier(bbsPubKey.KeyValue), nil
}
func (km *bbsVerifierKeyManager) DoesSupport(typeURL string) bool {
	return typeURL == bbsVerifierKeyTypeURL
}
func (km *bbsVerifierKeyManager) TypeURL() string {
	return bbsVerifierKeyTypeURL
}
func (km *bbsVerifierKeyManager) NewKey(serializedKeyFormat []byte) (proto.Message, error) {
	return nil, errors.New("bbs_verifier_key_manager: NewKey not implemented")
}