mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-03 19:53:58 +00:00
* build(deps): Bump github.com/spf13/viper from 1.7.1 to 1.9.0 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.7.1 to 1.9.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.7.1...v1.9.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * add nolint Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: tycho garen <garen@tychoish.com>
40 lines
943 B
Go
40 lines
943 B
Go
package armor
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"io/ioutil"
|
|
|
|
"golang.org/x/crypto/openpgp/armor" // nolint: staticcheck
|
|
)
|
|
|
|
func EncodeArmor(blockType string, headers map[string]string, data []byte) string {
|
|
buf := new(bytes.Buffer)
|
|
w, err := armor.Encode(buf, blockType, headers)
|
|
if err != nil {
|
|
panic(fmt.Errorf("could not encode ascii armor: %s", err))
|
|
}
|
|
_, err = w.Write(data)
|
|
if err != nil {
|
|
panic(fmt.Errorf("could not encode ascii armor: %s", err))
|
|
}
|
|
err = w.Close()
|
|
if err != nil {
|
|
panic(fmt.Errorf("could not encode ascii armor: %s", err))
|
|
}
|
|
return buf.String()
|
|
}
|
|
|
|
func DecodeArmor(armorStr string) (blockType string, headers map[string]string, data []byte, err error) {
|
|
buf := bytes.NewBufferString(armorStr)
|
|
block, err := armor.Decode(buf)
|
|
if err != nil {
|
|
return "", nil, nil, err
|
|
}
|
|
data, err = ioutil.ReadAll(block.Body)
|
|
if err != nil {
|
|
return "", nil, nil, err
|
|
}
|
|
return block.Type, block.Header, data, nil
|
|
}
|