You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/credential/vault/secret.go

53 lines
1.4 KiB

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package vault
import (
"encoding/json"
)
// TokenSecret equals a Vault token. This type provides a
// wrapper so the secret isn't inadvertently leaked into a log or error.
type TokenSecret []byte
// redactedTokenSecret is the redacted string or json for an Vault token.
const redactedTokenSecret = "[REDACTED: Vault token_secret]"
// String will redact the TokenSecret.
func (s TokenSecret) String() string {
return redactedTokenSecret
}
// GoString will redact the TokenSecret.
func (s TokenSecret) GoString() string {
return redactedTokenSecret
}
// MarshalJSON will redact the TokenSecret.
func (s TokenSecret) MarshalJSON() ([]byte, error) {
return json.Marshal([]byte(redactedTokenSecret))
}
// KeySecret equals a Vault client certificate private key. This type provides a
// wrapper so the secret isn't inadvertently leaked into a log or error.
type KeySecret []byte
// redactedKeySecret is the redacted string or json for an Vault client certificate key.
const redactedKeySecret = "[REDACTED: Vault key_secret]"
// String will redact the TokenSecret.
func (s KeySecret) String() string {
return redactedKeySecret
}
// GoString will redact the TokenSecret.
func (s KeySecret) GoString() string {
return redactedKeySecret
}
// MarshalJSON will redact the TokenSecret.
func (s KeySecret) MarshalJSON() ([]byte, error) {
return json.Marshal([]byte(redactedKeySecret))
}