Crypto
继承
简要描述
访问高级加密功能。
描述
Crypto类允许您访问IdeaXR中的一些更高级的加密功能。
目前,这包括生成加密安全的随机字节,以及RSA密钥和自签名X509证书的生成。计划在将来的版本中提供更多功能。
extends Node
var crypto = Crypto.new()
var key = CryptoKey.new()
var cert = X509Certificate.new()
func _ready():
# 生成新的RSA密钥。
key = crypto.generate_rsa(4096)
# 使用给定的密钥生成新的自签名证书。
cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")
# 将密钥和证书保存在用户文件夹中。
key.save("user://generated.key")
cert.save("user://generated.crt")
注意:在HTML5导出中不可用。
方法
返回值类型 | 方法名称 |
---|---|
PoolByteArray | generate_random_bytes(size: int) |
CryptoKey | generate_rsa(size: int) |
X509Certificate | generate_self_signed_certificate(key: CryptoKey, issuer_name: String = "CN=myserver,O=myorganisation,C=IT", not_before: String = "20140101000000", not_after: String = "20340101000000") |
方法说明
- generate_random_bytes generate_random_bytes(size: int)
生成具有给定size
的加密安全随机字节的PoolByteArray。
- generate_rsa generate_rsa(size: int)
生成可用于创建自签名证书并传递给StreamPeerSSL.accept_stream的RSA CryptoKey。
- generate_self_signed_certificate generate_self_signed_certificate(key: CryptoKey, issuer_name: String = "CN=myserver,O=myorganisation,C=IT", not_before: String = "20140101000000", not_after: String = "20340101000000")
根据给定的CryptoKey和issuer_name
生成自签名的X509Certificate。证书的有效性将由not_before
和not_after
(第一个有效日期和最后一个有效日期)定义。issuer_name
必须至少包含"CN="(通用名称,即域名),"O="(组织,即您的公司名称),"C="(国家,即国家的ISO-3166代码)。
一个生成RSA密钥和X509自签名证书的小示例。
var crypto = Crypto.new()
# 生成4096位的RSA密钥。
var key = crypto.generate_rsa(4096)
# 使用给定的密钥生成自签名证书。
var cert = crypto.generate_self_signed_certificate(key, "CN=example.com,O=A Game Company,C=IT")