Skip to content

Commit

Permalink
Basic Signature Verification (notaryproject#79)
Browse files Browse the repository at this point in the history
* verifier changes
* fix expiry data formatting
* use RFC1123Z for human readable time format
* support signingAuthority trust store

Signed-off-by: rgnote <5878554+rgnote@users.noreply.github.com>
Signed-off-by: Pritesh Bandi <pritesb@amazon.com>
  • Loading branch information
rgnote authored and Pritesh Bandi committed Aug 9, 2022
1 parent c1aaed8 commit 4ca1716
Show file tree
Hide file tree
Showing 23 changed files with 938 additions and 66 deletions.
91 changes: 91 additions & 0 deletions internal/mock/mocks.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
package mock

import _ "embed"

import (
"context"
"github.com/notaryproject/notation-go"
"github.com/notaryproject/notation-go/plugin"
"github.com/notaryproject/notation-go/plugin/manager"
"github.com/notaryproject/notation-go/registry"
"github.com/opencontainers/go-digest"
)

//go:embed testdata/ca_valid_sig_env.json
var MockCaValidSigEnv []byte

//go:embed testdata/ca_invalid_sig_env.json
var MockCaInvalidSigEnv []byte

//go:embed testdata/sa_valid_sig_env.json
var MockSaValidSigEnv []byte

//go:embed testdata/sa_invalid_sig_env.json
var MockSaInvalidSigEnv []byte

//go:embed testdata/ca_expired_sig_env.json
var MockCaExpiredSigEnv []byte

//go:embed testdata/sa_expired_sig_env.json
var MockSaExpiredSigEnv []byte

var (
SampleArtifactUri = "registry.acme-rockets.io/software/net-monitor@sha256:73c803930ea3ba1e54bc25c2bdc53edd0284c62ed651fe7b00369da519a3c333"
SampleDigest = digest.FromString("sha256:73c803930ea3ba1e54bc25c2bdc53edd0284c62ed651fe7b00369da519a3c333")
Annotations = map[string]string{"key": "value"}
JwsSigEnvDescriptor = notation.Descriptor{
MediaType: "application/jose+json",
Digest: SampleDigest,
Size: 100,
Annotations: Annotations,
}
)

type Repository struct {
ResolveResponse notation.Descriptor
ResolveError error
ListSignatureManifestsResponse []registry.SignatureManifest
ListSignatureManifestsError error
GetResponse []byte
GetError error
}

func NewRepository() Repository {
return Repository{
ResolveResponse: JwsSigEnvDescriptor,
ListSignatureManifestsResponse: []registry.SignatureManifest{{
Blob: JwsSigEnvDescriptor,
Annotations: Annotations,
}},
GetResponse: MockCaValidSigEnv,
}
}

func (t Repository) Resolve(ctx context.Context, reference string) (notation.Descriptor, error) {
return t.ResolveResponse, t.ResolveError
}

func (t Repository) ListSignatureManifests(ctx context.Context, manifestDigest digest.Digest) ([]registry.SignatureManifest, error) {
return t.ListSignatureManifestsResponse, t.ListSignatureManifestsError
}

func (t Repository) GetBlob(ctx context.Context, digest digest.Digest) ([]byte, error) {
return t.GetResponse, t.GetError
}

func (t Repository) PutSignatureManifest(ctx context.Context, signature []byte, manifest notation.Descriptor, annotaions map[string]string) (notation.Descriptor, registry.SignatureManifest, error) {
return notation.Descriptor{}, registry.SignatureManifest{}, nil
}

type PluginManager struct{}

func NewPluginManager() PluginManager {
return PluginManager{}
}

func (t PluginManager) Get(ctx context.Context, name string) (*manager.Plugin, error) {
return nil, nil
}
func (t PluginManager) Runner(name string) (plugin.Runner, error) {
return nil, nil
}
12 changes: 12 additions & 0 deletions internal/mock/testdata/ca_expired_sig_env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ",
"protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjAyMi0wNy0yOVQyMzo1OTowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjItMDctMjlUMjM6NTg6MDBaIn0",
"header": {
"x5c": [
"MIIEVjCCAr6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MB4XDTIyMDcyOTIzMDIwMVoXDTIyMDczMDIzMDIwMVowWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEk5vdGF0aW9uIFRlc3QgUm9vdDCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAMiYbKR+FvRlMvlAA0xDwutU613MzfGZTX9L3eLjhC++CpPb7mULy0J77JxEzVNer2JCwcFl3yjO2/uMAh20Ler0IDQtVsH5LEDlB+4GPWcEeCbiRUx2d9ImT6Kuo/yOeUptrhcW0978KmBSaNUKRx4OgHwPSg9rh6m4WKCOE56cnAUB2aY0t4RhbAPF+8NK8UTGa3YNYVvlawEF31rJVdyhqGZErFpD54VCXpEe6u4gL7jsIKEfMA0bOLQMtYGD+USspFVnHE+EnEEMpsmtT1s/Tv7EambxX8y5fPV/oNytsUnFBxLxc922OkK5v2JUXaFjctHGaKsuk4LTmg9yO8L1VXTms5e8gQupFNNSlbzY8zswSY1gUxwHL4rUrtEI6x2eqf5wVmBbeidwYjItySgPyUT2GNR+Wg5rFzQD2/ikF7h7kQdryq3T0/r2Kgo24paDVHR+Mt1xa2iXAxhs0eKwPx3N/AOvaT6qN3NDaDSXFTgIf4VeUYUNUDxFcFrbHwIDAQABoycwJTAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggGBAI/gys4fpygZVa2ajYjeZoEg2HLEI5DukGVuAmv+zBMdevf9rCHQJUrgQ4FgFo4CAKMfZYQ7XUaEUvQFdQnbDWnUXTTMW/x5/QZmh8ArDNY2D1oof0+ndo1wdhzue7MjEYvC/NMGUOoKsYzds67wwA4xnu5tjIpMXcMMS38IxI+XIQkgQ4lIPE+2/8zUMBnQANTfHlIcznDwL5Xq/6PoCN9XOYfJZuHvzRJIvAttZnalHfGM3l44qh4F1Amb5ScQJN7PTbJM1LDQqEDpreevEVgHnG7AnYFyaHjXkOmgoEma+QmUypZSqVCVzdyJNntEaebhMmDij11lszN/yiUS2Ywl5deHhE/kAb8xPBd3WlfR2XeA3Ery9GXda5zoxTAu9ALormhbD6nU5GrsV6MTpCLIdMrXzOOjrPii7Xcxrna48MOkL+CeTrNG8/6/jT4MSoisyfur26bHSuOLrNXwhe/Gx3Rm/xLZmPkx78hyATBJGnMg4XpT0wseOalUAIZ51g==",
"MIIEiTCCAvGgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxDzANBgNVBAoTBk5vdGFyeTEbMBkGA1UEAxMSTm90YXRpb24gVGVzdCBSb290MB4XDTIyMDcyOTIzMDIwMFoXDTIyMDgyOTIzMDIwMFowWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZOb3RhcnkxGzAZBgNVBAMTEk5vdGF0aW9uIFRlc3QgUm9vdDCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALbo3jsPh/LGmpLlbsxlTgqcyYXrxP07UzwpVkGIginXahSpnDYavk/b4vdRtSm0I/bRnrdWRTOufgsDeocWhcqgorWmiI/fg9SP9InLdVT33aqTiMlcpi+SP1AMMeESLrOSnI41lLSKl6KmV94nF7rIBL/8uSwSrzTdSOoM63fzeO5QMG+Y/ux5s4BxGbqX/SraCGrap6RXHuazmQ8getp8lq7HTUHx2AEF0DzloZbEj+AJD68DqlEvPh8lytUdYR9ou1aNt6o4dj6kcr06bjwVLNrIquE0whWi4o+6dXK9CS0t40MgGy8hu16uYDZ01HzsHenHkcgn7yqwEqCxz5Ba0U7iRf3qbdZ9KX7ImTWKR0Uwqpix2RVBNWGCVJAtfEnV94KytFmb8AibEnjhFwjA7QM9F6WlykeGAjVqG3OMssVCv6NaufDJQOpx+yGLuaESBYtMvoqAfmltY5j+ATj7GMsZ1NzA292lVSOnxuh9M1pcCmIPXl7Aty08A16FfQIDAQABo1owWDAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBATAdBgNVHQ4EFgQU3cTJUV7Q1AFpJXvj1lK3CYzCD4QwDQYJKoZIhvcNAQELBQADggGBAAjHRe/IlWXhr4mDVcrPSTJtNiyU0GdlGoYqs2w81JPFjlB5TGFPb6WfYPQZo6V4MFO3NxY1Hyx/dJ5oFpglaQw2ouhAcqmPsvUoVCGNSfNgNjfq73GlZQbcgMtEYk57gUAJj1j1pdoalLLRL4Q98R92UNAtqx9qcRWX5MAdblKYlxATJ/tnbxQ6GQOmkpN6aWj2EXIlQ9aI5gc0tdRIOK7LKA3o4XK7hHj6rofpVZ0caLd05mcfNLUeuaDScu0q+5TABhGfk4Q//C0WR/bDouqV5/9zs0ye23RAh1CNKGf+ZrmqiHTo0Z0RzzzWlPkOiHHeJB+KLTFbBFz+p6KRvqkLxEMVTt1igP7DWbLQwvIVMtgFabqrR0k5Iex9ejSpP0FJniVVANNRRw1+setBRu5CdejDPO3Z5TbwcDy5bKZswgY0lVmeNr9BfNHW/wh+ttErf3zP2iObOAJUAlyDDTpVW5mmfG9ihr1gQHQ+bVCxbBLehvCnrTYTPbKNE8oHVA=="
],
"io.cncf.notary.SigningAgent": "Notation/1.0.0"
},
"signature": "mj-c1cVKCDUl9811YMvY5uRweSL1JeRBAVreAHJoBfULmbF2pMB3vVQOKYkY2rDnlUIqIrh6GiBG65tgr0ZCXeGvGWvL651FtCXhqwx3sJpqOLmoxZMV_Nbom0VBoQWAyyPNCn5j0Z4Gp8o4KMsbv2DseIC9nsli9VZaNJkXU2rLZquQALYUI-InxsHM2hCjo-HG_U9zZlm9XH4bZl9fDIg-O-Id78JBP2ugdn2WW4XshFmWJiuJbHN59gDaW5HPHzPpj1VvUS-sScKTm3juH2fImgyysgtX2uw8c79sEf4uO007cVgHXrKeSwtNiDP3qQZaEzHCHcFsucUQKTIz1dcA519s3rYFAMegL-Ki8Vv-OGVQwIc_17zCrQl0QklFZCRvwdEGkKPysPmZVghAuoJ1kD58FwEYHCiT1IKJ2RN2liwHvZwkTGBpzQRTZQe1oKkSiyFLnHE2WkrCudvGv61qswA3_dMmpm3w6tYm-oseFPUnf8iXOOM5ZS-_VBjZ"
}
12 changes: 12 additions & 0 deletions internal/mock/testdata/ca_invalid_sig_env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ=",
"protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMi0wMS0wMVQxMjowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjItMDctMjlUMTU6NTU6MTAtMDc6MDAifQ",
"header": {
"x5c": [
"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"
],
"io.cncf.notary.SigningAgent": "Notation/1.0.0"
},
"signature": "LOLkqjLQJxswpcgDDgtHdliq0Q-HnrFPdmkdMlCRF2-rXdQYndDWFtOgQzezBW62erM_1bJVs_hA07ZTBel40059udaeiWQghkdn6rHEZ4WIAXHhPK3b-m7SDOSseTEWozRk8Pr1U2l7ctyhafVdmtn01bxdkB5nu0BuEff4mYv1r9PoNhv8qSf6-Ieqd4ifwXJj5aa2U4Frz9rweovxmHdHOEXMlaj64nvcCsdnuJxubXuYzY80nU526S2U5dO1SBXdAim0iu35T7r0ionBYt4Z94cnBYahD_8YsNOWfZ1q8qi8X3myOH_fjd47f746WJo05E4tCbss6uiDWRsdPiCzdKN_FRc2hPFvDnN036bqbk1WCFfnGNDysXbgurBHNfYzfL2UMt1D4CFwszvWXCSmXHtmIflBONrgUduNACFFcxQOBWi3OM6VxXW_sa7hnEgnZkMPZJMkiVF-yH1iO08FEhIGPaoXucyaxtNQM862V_sZdLl-nK67VMNDiqDMg1DLOL"
}
12 changes: 12 additions & 0 deletions internal/mock/testdata/ca_valid_sig_env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"payload": "eyJ0YXJnZXRBcnRpZmFjdCI6eyJtZWRpYVR5cGUiOiJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwiZGlnZXN0Ijoic2hhMjU2OjYwMDQzY2Y0NWVhZWJjNGMwODY3ZmVhNDg1YTAzOWI1OThmNTJmZDA5ZmQ1YjA3YjBiMmQyZjg4ZmFkOWQ3NGUiLCJzaXplIjo1Mjh9fQ",
"protected": "eyJhbGciOiJQUzM4NCIsImNyaXQiOlsiaW8uY25jZi5ub3Rhcnkuc2lnbmluZ1NjaGVtZSIsImlvLmNuY2Yubm90YXJ5LmV4cGlyeSJdLCJjdHkiOiJhcHBsaWNhdGlvbi92bmQuY25jZi5ub3RhcnkucGF5bG9hZC52MStqc29uIiwiaW8uY25jZi5ub3RhcnkuZXhwaXJ5IjoiMjEyMi0wMS0wMVQxMjowMDowMFoiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nU2NoZW1lIjoibm90YXJ5Lng1MDkiLCJpby5jbmNmLm5vdGFyeS5zaWduaW5nVGltZSI6IjIwMjItMDctMjlUMTU6NTU6MTAtMDc6MDAifQ",
"header": {
"x5c": [
"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"
],
"io.cncf.notary.SigningAgent": "Notation/1.0.0"
},
"signature": "kqjLQJxswpcgDDgtHdliq0Q-HnrFPdmkdMlCRF2-rXdQYndDWFtOgQzezBW62erM_1bJVs_hA07ZTBel40059udaeiWQghkdn6rHEZ4WIAXHhPK3b-m7SDOSseTEWozRk8Pr1U2l7ctyhafVdmtn01bxdkB5nu0BuEff4mYv1r9PoNhv8qSf6-Ieqd4ifwXJj5aa2U4Frz9rweovxmHdHOEXMlaj64nvcCsdnuJxubXuYzY80nU526S2U5dO1SBXdAim0iu35T7r0ionBYt4Z94cnBYahD_8YsNOWfZ1q8qi8X3myOH_fjd47f746WJo05E4tCbss6uiDWRsdPiCzdKN_FRc2hPFvDnN036bqbk1WCFfnGNDysXbgurBHNfYzfL2UMt1D4CFwszvWXCSmXHtmIflBONrgUduNACFFcxQOBWi3OM6VxXW_sa7hnEgnZkMPZJMkiVF-yH1iO08FEhIGPaoXucyaxtNQM862V_sZdLl-nK67VMNDiqDMg1D"
}
Loading

0 comments on commit 4ca1716

Please sign in to comment.