X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d0f91b34eedec9af266ec4877a3005dd627ad38e..2887fa9c26cfd4ae6379e2cf4e6c5d50aaa0dd11:/services/keepstore/perms.go diff --git a/services/keepstore/perms.go b/services/keepstore/perms.go index 6168a321c2..49a231685a 100644 --- a/services/keepstore/perms.go +++ b/services/keepstore/perms.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: AGPL-3.0 + package main import ( @@ -5,15 +9,10 @@ import ( "time" ) -// The PermissionSecret is the secret key used to generate SHA1 -// digests for permission hints. apiserver and Keep must use the same -// key. -var PermissionSecret []byte - // SignLocator takes a blobLocator, an apiToken and an expiry time, and // returns a signed locator string. func SignLocator(blobLocator, apiToken string, expiry time.Time) string { - return keepclient.SignLocator(blobLocator, apiToken, expiry, PermissionSecret) + return keepclient.SignLocator(blobLocator, apiToken, expiry, theConfig.BlobSignatureTTL.Duration(), theConfig.blobSigningKey) } // VerifySignature returns nil if the signature on the signedLocator @@ -22,7 +21,7 @@ func SignLocator(blobLocator, apiToken string, expiry time.Time) string { // something the client could have figured out independently) or // PermissionError. func VerifySignature(signedLocator, apiToken string) error { - err := keepclient.VerifySignature(signedLocator, apiToken, PermissionSecret) + err := keepclient.VerifySignature(signedLocator, apiToken, theConfig.BlobSignatureTTL.Duration(), theConfig.blobSigningKey) if err == keepclient.ErrSignatureExpired { return ExpiredError } else if err != nil {