1. 加密函数

Helm提供了一些高级的加密函数。包括了 adler32sum, buildCustomCert, decryptAES, derivePassword, encryptAES, genCA, genPrivateKey, genSelfSignedCert, genSignedCert, htpasswd, sha1sum, 以及 sha256sum。

1.1. sha1sum

sha1sum函数接收一个字符串,并计算它的SHA1摘要。

sha1sum "Hello world!"

1.2. sha256sum

sha256sum 函数接收一个字符串,并计算它的 SHA256 摘要。

sha256sum "Hello world!"

上述语句会以“ASCII包装”格式计算SHA 256 校验和,并安全打印出来。

1.3. adler32sum

adler32sum 函数接收一个字符串,并计算它的 Adler-32 校验和。

adler32sum "Hello world!"

1.4. htpasswd

htpasswd 函数使用 username 和 password 生成一个密码的bcrypt哈希值。该结果可用于 Apache HTTP Server 的基础认证。

htpasswd "myUser" "myPassword"

注意,将密码直接存储在模板中并不安全。

1.5. derivePassword

derivePassword 函数可用于基于某些共享的“主密码”约束得到特定密码。这方面的算法有 详细说明。

derivePassword 1 "long" "password" "user" "example.com"

注意,将这部分直接存储在模板中并不安全。

1.6. genPrivateKey

genPrivateKey 函数生成一个编码成PEM块的新私钥。

第一个参数会采用以下某个值:

  • ecdsa: 生成椭圆曲线 DSA key (P256)
  • dsa: 生成 DSA key (L2048N256)
  • rsa: 生成 RSA 4096 key

1.7. buildCustomCert

buildCustomCert 函数允许自定义证书。

会采用以下字符串参数:

  • base64 编码PEM格式证书
  • base64 编码PEM格式私钥

返回包含以下属性的整数对象:

  • Cert:PEM编码证书
  • Key: PEM编码私钥

示例:

$ca := buildCustomCert "base64-encoded-ca-crt" "base64-encoded-ca-key"

注意返回的对象可以使用这个CA传递给 genSignedCert 函数进行签名。

1.8. genCA

genCA 函数生成一个新的,自签名的 x509 证书机构。

会采用以下参数:

主体通用名 (cn) 证书有效期(天) 会返回一个包含以下属性的对象:

Cert: PEM编码证书 Key: PEM编码私钥 示例:

$ca := genCA "foo-ca" 365

注意返回的对象可以使用这个CA传递给 genSignedCert 函数进行签名。

1.9. genSelfSignedCert

The genSelfSignedCert 函数生成一个新的,自签名的 x509 证书。

会采用下列参数:

  • 主体通用名 (cn) 可选IP列表;可以为空
  • 可选备用DNS名称列表;可以为空
  • 证书有效期(天) 会返回一个包含以下属性的对象:

Cert: PEM编码证书 Key: PEM编码私钥 示例:

$cert := genSelfSignedCert "foo.com" (list "10.0.0.1" "10.0.0.2") (list "bar.com" "bat.com") 365

1.10. genSignedCert

genSignedCert 通过指定的CA签名生成一个新的, x509证书

会采用以下参数:

  • 主体通用名 (cn)
  • 可选IP列表;可以为空
  • 可选备用DNS名称列表;可以为空
  • 证书有效期(天)

CA (查看 genCA) 示例:

$ca := genCA "foo-ca" 365
$cert := genSignedCert "foo.com" (list "10.0.0.1" "10.0.0.2") (list "bar.com" "bat.com") 365 $ca

1.11. encryptAES

encryptAES 函数使用 AES-256 CBC 加密文本并返回一个base64编码字符串。

encryptAES "secretkey" "plaintext"

1.12. decryptAES

decryptAES函数接收一个AES-256 CBC编码的字符串并返回解密文本。

"30tEfhuJSVRhpG97XCuWgz2okj7L8vQ1s6V9zVUPeDQ=" | decryptAES "secretkey"
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2022-01-08 03:09:47

results matching ""

    No results matching ""