diff --git a/bccsp/pkcs11/pkcs11.go b/bccsp/pkcs11/pkcs11.go index 6b8b50e9c81..aea87688592 100644 --- a/bccsp/pkcs11/pkcs11.go +++ b/bccsp/pkcs11/pkcs11.go @@ -702,15 +702,14 @@ func (csp *Provider) findKeyPairFromSKI(session pkcs11.SessionHandle, ski []byte if err := csp.ctx.FindObjectsInit(session, template); err != nil { return 0, err } + defer csp.ctx.FindObjectsFinal(session) // single session instance, assume one hit only objs, _, err := csp.ctx.FindObjects(session, 1) if err != nil { return 0, err } - if err = csp.ctx.FindObjectsFinal(session); err != nil { - return 0, err - } + if len(objs) == 0 { return 0, fmt.Errorf("Key not found [%s]", hex.Dump(ski)) }