有没有办法将 CSR 解码为 String 以获取属性?
Is there a way to decode CSR to String to get attributes?
我的 CSR 文件的内容类似于
-----BEGIN CERTIFICATE REQUEST-----
XXXX
-----END CERTIFICATE REQUEST-----
生成的 CSR 带有属性
Attributes:
Requested Extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
xxx:
..TC200
yyy:
..1234
我试过
guard let base64data = Data(base64Encoded: request.body) else {
return getResponse(message: "Most likely, the request sent was in a wrong format.", code: 400)
}
但是,base64data 为零。
是否可以解码 CSR,以某种方式访问 Swift 中的 xxx 和 yyy 属性?
附加信息是它是用 base64 编码的。
我假设您正在寻找解码 ASN1 DER 编码的 X.509 证书。查看 ASN1Decoder CocoaPod.
安装后,您可以像下面的示例一样使用 Pod:
import ASN1Decoder
let base64CertData = "MIID..."
guard let data = Data(base64Encoded: base64CertData) else {
return
}
do {
let x509 = try X509Certificate(data: certData)
let subject = x509.subjectDistinguishedName ?? ""
} catch {
print(error)
}
请注意删除 -----BEGIN CERTIFICATE REQUEST-----
页眉和 -----END CERTIFICATE REQUEST-----
页脚。
我的 CSR 文件的内容类似于
-----BEGIN CERTIFICATE REQUEST-----
XXXX
-----END CERTIFICATE REQUEST-----
生成的 CSR 带有属性
Attributes:
Requested Extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
xxx:
..TC200
yyy:
..1234
我试过
guard let base64data = Data(base64Encoded: request.body) else {
return getResponse(message: "Most likely, the request sent was in a wrong format.", code: 400)
}
但是,base64data 为零。
是否可以解码 CSR,以某种方式访问 Swift 中的 xxx 和 yyy 属性? 附加信息是它是用 base64 编码的。
我假设您正在寻找解码 ASN1 DER 编码的 X.509 证书。查看 ASN1Decoder CocoaPod.
安装后,您可以像下面的示例一样使用 Pod:
import ASN1Decoder
let base64CertData = "MIID..."
guard let data = Data(base64Encoded: base64CertData) else {
return
}
do {
let x509 = try X509Certificate(data: certData)
let subject = x509.subjectDistinguishedName ?? ""
} catch {
print(error)
}
请注意删除 -----BEGIN CERTIFICATE REQUEST-----
页眉和 -----END CERTIFICATE REQUEST-----
页脚。