notaryproject / notation-go

A collection of libraries for supporting sign and verify OCI artifacts. Based on Notary Project specifications.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plugin not compliant error with test signature generation plugin

zosocanuck opened this issue · comments

I’m creating a test plugin that supports signature generation, however am getting this error:

2022/06/06 00:17:51 generate-signature command failed: test-csp: failed to decode json response: plugin not compliant

Seems like it is having an issue with unmarshaling the plugin.GenerateSignatureResponse interface. If I unmarshal similar to where I believe the error is happening within the plugin there is no problem.

err = json.Unmarshal(out, resp)
if err != nil {
return nil, fmt.Errorf("failed to decode json response: %w", ErrNotCompliant)
}

plugin.GenerateSignatureResponse is:

{"keyId":"test-p256","signature":"MEUCIQDQv46z4MxdbSKgPnCuGrVmpU7UjR5Nw1/YN9zeChOzowIgallmITjnjhIvkZdXjME/vpJS8cgy6ow1pyo3AO8o1Qw=","signingAlgorithm":"ECDSA_SHA_256","certificateChain":["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"]}

After debugging this some more it turns out I was accidentally printing out debug statements to stdout, thereby causing the json unmarshaling issues to crop up. Removing these resolved the issue.