mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-28 18:06:34 +02:00
* chore(deps): bump the go group across 1 directory with 26 updates Bumps the go group with 18 updates in the / directory: | Package | From | To | | --- | --- | --- | | [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) | `1.46.0` | `1.47.0` | | [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.32.3` | `1.32.6` | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.28.1` | `1.28.6` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2) | `1.66.2` | `1.70.0` | | [github.com/bits-and-blooms/bitset](https://github.com/bits-and-blooms/bitset) | `1.14.3` | `1.17.0` | | [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) | `7.0.80` | `7.0.81` | | [github.com/stretchr/testify](https://github.com/stretchr/testify) | `1.9.0` | `1.10.0` | | [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.31.0` | `1.32.0` | | [go.opentelemetry.io/otel/bridge/opencensus](https://github.com/open-telemetry/opentelemetry-go) | `1.31.0` | `1.32.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.31.0` | `1.32.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.31.0` | `1.32.0` | | [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.31.0` | `1.32.0` | | [golang.org/x/crypto](https://github.com/golang/crypto) | `0.28.0` | `0.29.0` | | [golang.org/x/net](https://github.com/golang/net) | `0.30.0` | `0.31.0` | | [golang.org/x/oauth2](https://github.com/golang/oauth2) | `0.23.0` | `0.24.0` | | [golang.org/x/time](https://github.com/golang/time) | `0.7.0` | `0.8.0` | | [google.golang.org/api](https://github.com/googleapis/google-api-go-client) | `0.203.0` | `0.209.0` | | [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.67.1` | `1.68.0` | Updates `cloud.google.com/go/storage` from 1.46.0 to 1.47.0 - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.46.0...spanner/v1.47.0) Updates `github.com/aws/aws-sdk-go-v2` from 1.32.3 to 1.32.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.32.3...v1.32.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.28.1 to 1.28.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.28.1...config/v1.28.6) Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.66.2 to 1.70.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.66.2...service/s3/v1.70.0) Updates `github.com/bits-and-blooms/bitset` from 1.14.3 to 1.17.0 - [Release notes](https://github.com/bits-and-blooms/bitset/releases) - [Commits](https://github.com/bits-and-blooms/bitset/compare/v1.14.3...v1.17.0) Updates `github.com/minio/minio-go/v7` from 7.0.80 to 7.0.81 - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.80...v7.0.81) Updates `github.com/stretchr/testify` from 1.9.0 to 1.10.0 - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0) Updates `go.opentelemetry.io/otel` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/bridge/opencensus` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/metric` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/sdk` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/sdk/metric` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `go.opentelemetry.io/otel/trace` from 1.31.0 to 1.32.0 - [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0) Updates `golang.org/x/crypto` from 0.28.0 to 0.29.0 - [Commits](https://github.com/golang/crypto/compare/v0.28.0...v0.29.0) Updates `golang.org/x/net` from 0.30.0 to 0.31.0 - [Commits](https://github.com/golang/net/compare/v0.30.0...v0.31.0) Updates `golang.org/x/oauth2` from 0.23.0 to 0.24.0 - [Commits](https://github.com/golang/oauth2/compare/v0.23.0...v0.24.0) Updates `golang.org/x/sync` from 0.8.0 to 0.9.0 - [Commits](https://github.com/golang/sync/compare/v0.8.0...v0.9.0) Updates `golang.org/x/sys` from 0.26.0 to 0.27.0 - [Commits](https://github.com/golang/sys/compare/v0.26.0...v0.27.0) Updates `golang.org/x/time` from 0.7.0 to 0.8.0 - [Commits](https://github.com/golang/time/compare/v0.7.0...v0.8.0) Updates `google.golang.org/api` from 0.203.0 to 0.209.0 - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.203.0...v0.209.0) Updates `google.golang.org/genproto/googleapis/rpc` from 0.0.0-20241015192408-796eee8c2d53 to 0.0.0-20241113202542-65e8d215514f - [Commits](https://github.com/googleapis/go-genproto/commits) Updates `google.golang.org/grpc` from 1.67.1 to 1.68.0 - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.67.1...v1.68.0) Updates `google.golang.org/protobuf` from 1.35.1 to 1.35.2 --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/bits-and-blooms/bitset dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/bridge/opencensus dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/metric dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/sdk dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/sdk/metric dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: go.opentelemetry.io/otel/trace dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/oauth2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/sync dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: golang.org/x/time dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: google.golang.org/genproto/googleapis/rpc dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor dependency-group: go - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch dependency-group: go ... Signed-off-by: dependabot[bot] <support@github.com> * update not same call * fix test --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
85 lines
2.5 KiB
Go
85 lines
2.5 KiB
Go
package cryptutil
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestDataEncryptionKey(t *testing.T) {
|
|
t.Run("roundtrip", func(t *testing.T) {
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext := dek.Encrypt([]byte("HELLO WORLD"))
|
|
plaintext, err := dek.Decrypt(ciphertext)
|
|
require.NoError(t, err)
|
|
require.Equal(t, []byte("HELLO WORLD"), plaintext)
|
|
})
|
|
t.Run("roundtrip string", func(t *testing.T) {
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext := dek.EncryptString(("HELLO WORLD"))
|
|
plaintext, err := dek.DecryptString(ciphertext)
|
|
require.NoError(t, err)
|
|
require.Equal(t, ("HELLO WORLD"), plaintext)
|
|
})
|
|
t.Run("KeyBytes", func(t *testing.T) {
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
assert.Equal(t, dek.data[:], dek.KeyBytes())
|
|
})
|
|
t.Run("invalid key", func(t *testing.T) {
|
|
dek, err := NewDataEncryptionKey([]byte("NOT BIG ENOUGH"))
|
|
require.Nil(t, dek)
|
|
require.Error(t, err)
|
|
})
|
|
t.Run("bad data", func(t *testing.T) {
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext := dek.Encrypt([]byte("HELLO WORLD"))
|
|
ciphertext[3]++
|
|
plaintext, err := dek.Decrypt(ciphertext)
|
|
require.Error(t, err)
|
|
require.Nil(t, plaintext)
|
|
})
|
|
}
|
|
|
|
func TestDataEncryptionKeyCache(t *testing.T) {
|
|
t.Run("roundtrip", func(t *testing.T) {
|
|
cache := NewDataEncryptionKeyCache()
|
|
kek, err := GenerateKeyEncryptionKey()
|
|
require.NoError(t, err)
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext, err := kek.Public().EncryptDataEncryptionKey(dek)
|
|
require.NoError(t, err)
|
|
cache.Put(ciphertext, dek)
|
|
dek2, ok := cache.Get(ciphertext)
|
|
require.True(t, ok)
|
|
require.Equal(t, dek, dek2)
|
|
})
|
|
t.Run("eviction", func(t *testing.T) {
|
|
cache := NewDataEncryptionKeyCache()
|
|
kek, err := GenerateKeyEncryptionKey()
|
|
require.NoError(t, err)
|
|
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext, err := kek.Public().EncryptDataEncryptionKey(dek)
|
|
require.NoError(t, err)
|
|
cache.Put(ciphertext, dek)
|
|
|
|
for i := 0; i < DataEncryptionKeyCacheSize; i++ {
|
|
dek, err := GenerateDataEncryptionKey()
|
|
require.NoError(t, err)
|
|
ciphertext, err := kek.Public().EncryptDataEncryptionKey(dek)
|
|
require.NoError(t, err)
|
|
cache.Put(ciphertext, dek)
|
|
}
|
|
|
|
dek2, ok := cache.Get(ciphertext)
|
|
require.False(t, ok, "should evict the least recently used DEK")
|
|
require.Nil(t, dek2)
|
|
})
|
|
}
|