Skip to content

Commit

Permalink
fix: fix the certs validation in envelope.Sign() (#51)
Browse files Browse the repository at this point in the history
Signed-off-by: Binbin Li <libinbin@microsoft.com>

Signed-off-by: Binbin Li <libinbin@microsoft.com>
Co-authored-by: Binbin Li <libinbin@microsoft.com>
  • Loading branch information
binbin-li and binbin-li committed Aug 23, 2022
1 parent c3aae6e commit a2fb618
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 5 deletions.
11 changes: 10 additions & 1 deletion signature/internal/base/envelope.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,16 @@ func (e *Envelope) Sign(req *signature.SignRequest) ([]byte, error) {
}

// validate certificate chain
if _, err := e.SignerInfo(); err != nil {
signerInfo, err := e.Envelope.SignerInfo()
if err != nil {
return nil, err
}

if err := validateCertificateChain(
signerInfo.CertificateChain,
signerInfo.SignedAttributes.SigningTime,
signerInfo.SignatureAlgorithm,
); err != nil {
return nil, err
}

Expand Down
20 changes: 16 additions & 4 deletions signature/internal/base/envelope_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ func TestSign(t *testing.T) {
expectErr: true,
},
{
name: "err returned by internal envelope",
name: "internal envelope fails to sign",
req: signReq1,
env: &Envelope{
Raw: nil,
Expand All @@ -187,7 +187,7 @@ func TestSign(t *testing.T) {
expectErr: true,
},
{
name: "invalid certificate chain",
name: "internal envelope fails to get signerInfo",
req: validReq,
env: &Envelope{
Raw: nil,
Expand All @@ -196,16 +196,28 @@ func TestSign(t *testing.T) {
expect: nil,
expectErr: true,
},
{
name: "invalid certificate chain",
req: validReq,
env: &Envelope{
Raw: nil,
Envelope: mockEnvelope{
signerInfo: &signature.SignerInfo{},
},
},
expect: nil,
expectErr: true,
},
{
name: "successfully signed",
req: validReq,
req: validReq,
env: &Envelope{
Raw: validBytes,
Envelope: &mockEnvelope{
signerInfo: validSignerInfo,
},
},
expect: validBytes,
expect: validBytes,
expectErr: false,
},
}
Expand Down

0 comments on commit a2fb618

Please sign in to comment.