# vaulted
[![Build status](https://github.com/sumup-oss/vaulted/workflows/Go/badge.svg?branch=master&event=push)](https://github.com/sumup-oss/vaulted/actions?query=workflow%3AGo)
[![Go Report Card](https://goreportcard.com/badge/github.com/sumup-oss/vaulted)](https://goreportcard.com/report/github.com/sumup-oss/vaulted)
Multi purpose cryptography tool for encryption/decryption using AES256 GCM.
A "swiss-army" encryption/decryption knife with focus on developer experience, ease-of-use and
integration capabilities in infrastructure-as-code software such as https://github.com/hashicorp/terraform.
Combined with https://github.com/sumup-oss/terraform-provider-vaulted, it's shown
at https://medium.com/@syndbg/provisioning-vault-encrypted-secrets-using-terraform-using-sumup-oss-vaulted-and-4aa9721d082c?source=friends_link&sk=9eabe1bbe6ba089fe176d94cf413862d
## Why
* Ease-of-use.
* First-class terraform support. Also check https://github.com/sumup-oss/terraform-provider-vaulted/.
* Asymmetric encryption.
* **Large files are supported due to AES256 GCM encryption/decryption used.**
* GPG/PGP keychain-less which means you don't need external GPG/PGP keychain and neither do your users. (Support for this may be added in the future)
* Completely testable and high test coverage consisting of unit, integration and e2e tests.
* Encryption,
* Decryption,
* Secret rotation,
* Secret re-keying.
## [How it works](./HOW_IT_WORKS.md)
## Used in:
* https://github.com/sumup-oss/terraform-provider-vaulted to provide encryption/decryption capabilities.
* SumUp inner-source large-scale provision orchestration software projects.
* SumUp inner-source projects that deploy using Ansible. Used to encrypt/decrypt the initial Ansible-Vault passphrase.
* SumUp infrastructure provisioning via Terraform to provide Vault secrets and enable developers to
encrypt and submit secrets as PRs without anyone other than system administrators, devops,
site-reliability engineers be able to decrypt them.
* SumUp inner-source CI systems that need to encrypt/decrypt secrets in sandboxes.
## Prerequisites
1. RSA public and private key pair for asymmetric encryption (using `openssl`, `cfssl` or whichever works for you).
## Setup
### Generating a private key pair for asymmetric encryption
```shell
# Generate PKCS#1 private key
> openssl genrsa -f4 -out private.pem 4096
# Generate from private key, a public key
> openssl rsa -in private.pem -outform PEM -pubout -out public.pem
```
### I already have keys
**Make sure that your private and public keys are PEM-formatted**.
Example valid public key
```
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----
```
**Your private key must be `PKCS#1`-formatted**.
Example `PKCS#1`-formatted private key
```
-----BEGIN RSA PRIVATE KEY-----
...
<content>
...
-----END RSA PRIVATE KEY-----
```
Example **unusable** with `vaulted` `PKCS#8`-formatted private key
```
-----BEGIN PRIVATE KEY-----
...
<content>
...
-----END PRIVATE KEY-----
```
**What is the difference in base64-encoded content?**
Obvious different is in the PEM block names.
However in terms of content, `PKCS#8` PEM contains the `version` and `algorithm` identifiers and
`private key` content.
The `PKCS#1` PEM contains just the `private key` content.
## Usage
Check out [COMMANDS](./COMMANDS.md)
## Contributing
Check out [CONTRIBUTING](./CONTRIBUTING.md)
## About SumUp
[SumUp](https://sumup.com) is a mobile-point of sale provider.
It is our mission to make easy and fast card payments a reality across the *entire* world.
You can pay with SumUp in more than 30 countries, already.
Our engineers work in Berlin, Cologne, Sofia and Sāo Paulo.
They write code in JavaScript, Swift, Ruby, Go, Java, Erlang, Elixir and more.
Want to come work with us? [Head to our careers page](https://sumup.com/careers) to find out more.
没有合适的资源?快使用搜索试试~ 我知道了~
保险库:使用AES256 GCM进行加密解密的多用途加密工具
共129个文件
go:107个
md:7个
png:4个
需积分: 44 14 下载量 161 浏览量
2021-02-26
01:23:03
上传
评论
收藏 724KB ZIP 举报
温馨提示
拱形 使用AES256 GCM进行加密/解密的多用途加密工具。 专注于开发人员的经验,易用性和集成功能(如的“精打细算”的加密/解密工具。 与结合使用,显示在 为什么 使用方便。 一流的Terraform支持。 还要检查 。 非对称加密。 由于使用了AES256 GCM加密/解密,因此支持大文件。 无需GPG / PGP钥匙串,这意味着您不需要外部GPG / PGP钥匙串,您的用户也不需要。 (将来可能会增加对此的支持) 包括单元测试,集成测试和端到端测试在内的完全可测试的高测试覆盖率。 加密, 解密 秘密轮换 秘密重新键入。 用于: 提供加密/解密功能。 SumUp内部源大型供应编排软件项目。 使用Ansible部署的SumUp内部源项目。 用于加密/解密初始的Ansible-Vault密码。 通过Terraform进行SumUp基础架构调配,以提供Vault
资源详情
资源评论
资源推荐
收起资源包目录
保险库:使用AES256 GCM进行加密解密的多用途加密工具 (129个子文件)
CODEOWNERS 10B
.gitignore 146B
service_integration_test.go 86KB
encrypted_payload_service_test.go 30KB
main_e2e_test.go 20KB
encrypt_integration_test.go 19KB
service.go 19KB
ini_integration_test.go 16KB
service_test.go 14KB
service_test.go 11KB
service_integration_test.go 9KB
encrypted_passphrase_service_test.go 9KB
legacy_encrypted_content_service_test.go 8KB
service_test.go 8KB
rekey.go 6KB
rotate.go 5KB
encrypted_payload_service.go 5KB
ini_integration_test.go 5KB
new_resource_integration_test.go 5KB
header_service_test.go 5KB
new_resource.go 5KB
decrypt.go 5KB
external_interfaces.go 5KB
service.go 5KB
encrypt.go 5KB
rekey.go 5KB
service_integration_test.go 4KB
rotate.go 4KB
decrypt.go 4KB
service_test.go 4KB
vault_test.go 4KB
encrypt.go 4KB
migrate.go 4KB
service.go 4KB
terraform_test.go 4KB
ini.go 4KB
ini.go 4KB
testing.go 3KB
legacy_test.go 3KB
service.go 3KB
root.go 3KB
ini_test.go 3KB
root_test.go 3KB
magefile.go 3KB
encrypted_passphrase_service.go 3KB
e2e.go 2KB
service.go 2KB
testing.go 2KB
external_interfaces.go 2KB
encrypt_test.go 2KB
header_service.go 2KB
new_resource_test.go 2KB
testing.go 2KB
testing.go 2KB
content_test.go 2KB
legacy.go 2KB
testing.go 2KB
testing.go 2KB
vault.go 2KB
legacy_encrypted_content_service.go 2KB
v1_encrypted_content_service.go 2KB
utils.go 2KB
terraform.go 2KB
external_interfaces.go 2KB
cli.go 2KB
service_test.go 2KB
testing.go 2KB
payload_test.go 2KB
service.go 2KB
main.go 2KB
header_test.go 1KB
version_test.go 1KB
encrypted_payload_test.go 1KB
testing.go 1KB
utils.go 1KB
testing.go 1KB
service.go 1KB
encrypted_payload.go 1KB
service.go 1KB
base_encrypted_content_service.go 1KB
testing.go 1KB
terraform.go 1KB
testing.go 1KB
resource_test.go 1KB
payload.go 1KB
version.go 1KB
encrypted_passphrase_test.go 991B
external_interfaces.go 988B
encrypted_content_test.go 985B
external_interfaces.go 973B
content_test.go 951B
passphrase_test.go 947B
content.go 888B
resource.go 865B
content.go 843B
header.go 821B
interfaces.go 796B
encrypted_passphrase.go 796B
service_test.go 785B
encrypted_content.go 781B
共 129 条
- 1
- 2
CodeWizardess
- 粉丝: 18
- 资源: 4691
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0