Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0afa4b37b0 | |||
| e9c7fec86f |
@@ -1,5 +1,10 @@
|
|||||||
CHANGELOG
|
CHANGELOG
|
||||||
|
|
||||||
|
v1.15.8 - 2025-11-20
|
||||||
|
|
||||||
|
Changed:
|
||||||
|
- certlib: fix CSR FileKind, add test cases.
|
||||||
|
|
||||||
v1.15.7 - 2025-11-19
|
v1.15.7 - 2025-11-19
|
||||||
|
|
||||||
Changed:
|
Changed:
|
||||||
|
|||||||
@@ -171,6 +171,9 @@ func (ka KeyAlgo) String() string {
|
|||||||
case x509.RSA:
|
case x509.RSA:
|
||||||
return fmt.Sprintf("RSA-%d", ka.Size)
|
return fmt.Sprintf("RSA-%d", ka.Size)
|
||||||
case x509.ECDSA:
|
case x509.ECDSA:
|
||||||
|
if ka.curve == nil {
|
||||||
|
return fmt.Sprintf("ECDSA (unknown %d)", ka.Size)
|
||||||
|
}
|
||||||
return fmt.Sprintf("ECDSA-%s", ka.curve.Params().Name)
|
return fmt.Sprintf("ECDSA-%s", ka.curve.Params().Name)
|
||||||
case x509.Ed25519:
|
case x509.Ed25519:
|
||||||
return "Ed25519"
|
return "Ed25519"
|
||||||
@@ -242,7 +245,7 @@ func publicKeyAlgoFromCert(cert *x509.Certificate) KeyAlgo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func publicKeyAlgoFromCSR(csr *x509.CertificateRequest) KeyAlgo {
|
func publicKeyAlgoFromCSR(csr *x509.CertificateRequest) KeyAlgo {
|
||||||
return publicKeyAlgoFromPublicKey(csr.PublicKeyAlgorithm)
|
return publicKeyAlgoFromPublicKey(csr.PublicKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
type FileType struct {
|
type FileType struct {
|
||||||
@@ -273,7 +276,7 @@ func FileKind(path string) (*FileType, error) {
|
|||||||
ft.Type = strings.ToLower(block.Type)
|
ft.Type = strings.ToLower(block.Type)
|
||||||
ft.Format = FormatPEM
|
ft.Format = FormatPEM
|
||||||
}
|
}
|
||||||
|
|
||||||
cert, err := x509.ParseCertificate(data)
|
cert, err := x509.ParseCertificate(data)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
ft.Algo = publicKeyAlgoFromCert(cert)
|
ft.Algo = publicKeyAlgoFromCert(cert)
|
||||||
|
|||||||
@@ -143,12 +143,15 @@ func TestReadCertificates(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
ecTestCACert = "testdata/ec-ca-cert.pem"
|
ecTestCACert = "testdata/ec-ca-cert.pem"
|
||||||
ecTestCAPriv = "testdata/ec-ca-priv.pem"
|
ecTestCAPriv = "testdata/ec-ca-priv.pem"
|
||||||
ecTestCAReq = "testdata/ec-ca-cert.csr"
|
ecTestCAReq = "testdata/ec-ca-cert.csr"
|
||||||
|
rsaTestCACert = "testdata/rsa-ca-cert.pem"
|
||||||
|
rsaTestCAPriv = "testdata/rsa-ca-priv.pem"
|
||||||
|
rsaTestCAReq = "testdata/rsa-ca-cert.csr"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestFileTypeEC(t *testing.T) {
|
func TestFileTypeECPrivate(t *testing.T) {
|
||||||
ft, err := FileKind(ecTestCAPriv)
|
ft, err := FileKind(ecTestCAPriv)
|
||||||
assert.NoErrorT(t, err)
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
@@ -171,3 +174,120 @@ func TestFileTypeEC(t *testing.T) {
|
|||||||
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestFileTypeECCertRequest(t *testing.T) {
|
||||||
|
ft, err := FileKind(ecTestCAReq)
|
||||||
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
|
if ft.Format != FormatPEM {
|
||||||
|
t.Errorf("certlib: expected format '%s', got '%s'", FormatPEM, ft.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Type != strings.ToLower(pemTypeCertificateRequest) {
|
||||||
|
t.Errorf("certlib: expected type '%s', got '%s'",
|
||||||
|
strings.ToLower(pemTypeCertificateRequest), ft.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedAlgo := KeyAlgo{
|
||||||
|
Type: x509.ECDSA,
|
||||||
|
Size: 521,
|
||||||
|
curve: elliptic.P521(),
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Algo.String() != expectedAlgo.String() {
|
||||||
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFileTypeECCertificate(t *testing.T) {
|
||||||
|
ft, err := FileKind(ecTestCACert)
|
||||||
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
|
if ft.Format != FormatPEM {
|
||||||
|
t.Errorf("certlib: expected format '%s', got '%s'", FormatPEM, ft.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Type != strings.ToLower(pemTypeCertificate) {
|
||||||
|
t.Errorf("certlib: expected type '%s', got '%s'",
|
||||||
|
strings.ToLower(pemTypeCertificate), ft.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedAlgo := KeyAlgo{
|
||||||
|
Type: x509.ECDSA,
|
||||||
|
Size: 521,
|
||||||
|
curve: elliptic.P521(),
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Algo.String() != expectedAlgo.String() {
|
||||||
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFileTypeRSAPrivate(t *testing.T) {
|
||||||
|
ft, err := FileKind(rsaTestCAPriv)
|
||||||
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
|
if ft.Format != FormatPEM {
|
||||||
|
t.Errorf("certlib: expected format '%s', got '%s'", FormatPEM, ft.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Type != strings.ToLower(pemTypePrivateKey) {
|
||||||
|
t.Errorf("certlib: expected type '%s', got '%s'",
|
||||||
|
strings.ToLower(pemTypePrivateKey), ft.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedAlgo := KeyAlgo{
|
||||||
|
Type: x509.RSA,
|
||||||
|
Size: 4096,
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Algo.String() != expectedAlgo.String() {
|
||||||
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFileTypeRSACertRequest(t *testing.T) {
|
||||||
|
ft, err := FileKind(rsaTestCAReq)
|
||||||
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
|
if ft.Format != FormatPEM {
|
||||||
|
t.Errorf("certlib: expected format '%s', got '%s'", FormatPEM, ft.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Type != strings.ToLower(pemTypeCertificateRequest) {
|
||||||
|
t.Errorf("certlib: expected type '%s', got '%s'",
|
||||||
|
strings.ToLower(pemTypeCertificateRequest), ft.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedAlgo := KeyAlgo{
|
||||||
|
Type: x509.RSA,
|
||||||
|
Size: 4096,
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Algo.String() != expectedAlgo.String() {
|
||||||
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFileTypeRSACertificate(t *testing.T) {
|
||||||
|
ft, err := FileKind(rsaTestCACert)
|
||||||
|
assert.NoErrorT(t, err)
|
||||||
|
|
||||||
|
if ft.Format != FormatPEM {
|
||||||
|
t.Errorf("certlib: expected format '%s', got '%s'", FormatPEM, ft.Format)
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Type != strings.ToLower(pemTypeCertificate) {
|
||||||
|
t.Errorf("certlib: expected type '%s', got '%s'",
|
||||||
|
strings.ToLower(pemTypeCertificate), ft.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
expectedAlgo := KeyAlgo{
|
||||||
|
Type: x509.RSA,
|
||||||
|
Size: 4096,
|
||||||
|
}
|
||||||
|
|
||||||
|
if ft.Algo.String() != expectedAlgo.String() {
|
||||||
|
t.Errorf("certlib: expected algo '%s', got '%s'", expectedAlgo, ft.Algo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
32
certlib/testdata/rsa-ca-cert.csr
vendored
32
certlib/testdata/rsa-ca-cert.csr
vendored
@@ -1,8 +1,28 @@
|
|||||||
-----BEGIN CERTIFICATE REQUEST-----
|
-----BEGIN CERTIFICATE REQUEST-----
|
||||||
MIIBCjCBvQIBADCBiTELMAkGA1UEBhMCVVMxCTAHBgNVBAgTADEJMAcGA1UEBxMA
|
MIIEzzCCArcCAQAwgYkxCzAJBgNVBAYTAlVTMQkwBwYDVQQIEwAxCTAHBgNVBAcT
|
||||||
MSIwIAYDVQQKExlXTlRSTVVURSBIRUFWWSBJTkRVU1RSSUVTMR8wHQYDVQQLExZD
|
ADEiMCAGA1UEChMZV05UUk1VVEUgSEVBVlkgSU5EVVNUUklFUzEfMB0GA1UECxMW
|
||||||
UllQVE9HUkFQSElDIFNFUlZJQ0VTMR8wHQYDVQQDExZXTlRSTVVURSBURVNUIFJT
|
Q1JZUFRPR1JBUEhJQyBTRVJWSUNFUzEfMB0GA1UEAxMWV05UUk1VVEUgVEVTVCBS
|
||||||
QSBDQSAxMCowBQYDK2VwAyEA1Lai2WChuUH2kq4LWddp6TlcmpuuBz6G43e9efsZ
|
U0EgQ0EgMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANq2EqMMNnQD
|
||||||
GBqgADAFBgMrZXADQQDbBl1gW07c0g9UQmK2g8QkVIXzr2TLrOjXVAptlcW/3rPO
|
x/FwQ9Xf+UqYJCsdeSxeRDk9CGRbsToKeBlYfsOMgZ3pghsZ1srnJyB+pF1cSM1q
|
||||||
M3iQM2mGwZWMwv7t6C4C7xBaLcUkcqT3b4S+MaUK
|
PJCXCvRdn11Q+FfZ25ye3pOaAY589GJSbEpcxitweJ7dsiY3sbqZjh5XnmwX5qHy
|
||||||
|
CE2qamKKJoAUkJ1YH/gWqX4bMYPG5oRo6KpCxb6pKi5ScMTl7kvn9fagkHEVJLf2
|
||||||
|
ZrQMWzTDwijjJGsKcjMWVZQegP9ODC+wut4uq1ZIFaXGW+dlrQkowVIZXZrBkL3l
|
||||||
|
s3u4RJiDadOSvEH3VJB9yjz9/LKT+JFUzgbMWCyZ2Gq3gr/HY+Xsodu8JsPqQxAW
|
||||||
|
PCxi19gi+Mx7Mk7jOqBShfDXby15mnqJxFU5VcjPtX5jPPIvDsF46IJX5lOwSNJa
|
||||||
|
VQsp/s54OL4bzbel/BsHWztRcDNzAxvOW3edZHzCE+o7UWkMwvJER+ciAfJSSm8s
|
||||||
|
oG5QiL5GdMvtiqwQe/l8bkbEws4OAnks9U+U9/5S3kLJq93Mw+oeId4m8bRGqCFB
|
||||||
|
QF9OWaZOOHO5kET89jr/UF0Udi6IMNIvj1fbTJVKZdM4gDEcLHTiev3Wqhmsy+4m
|
||||||
|
R7nVdr0bC8y5INLQ4aI4N4BUlzWUopWdFBasZYaJdWqt5sBVYHvEVvkThlJoDlCm
|
||||||
|
mBPQC7TtvqUA0lEhIgWteR33FU/D+OfTAgMBAAGgADANBgkqhkiG9w0BAQsFAAOC
|
||||||
|
AgEAOVmZNOOcyFMCF7p1ea7POU2Ev6l5x3vBnxqss+spRj07qWGKbKaFi6/smGoy
|
||||||
|
If2SYSFY0bJi1wzuz78m2DQfQDl1AAxKdd33prFs1+nOsQPKuVAmMETKW8t+ZRQd
|
||||||
|
hLq1I7aGcJjCU0nXnXEFM7XHJ2uUf1Af4WTCYOV8BvKanCz+xuTnjjW0fOYx6pZU
|
||||||
|
3lPAl5e4lNlbrsF9SNomX6u0zdmjECxSmDbDl/XIx5NB0wzdBwmm6QO2Ulp+ytr1
|
||||||
|
85OmOC6RxL+cBIS42k9WIZpYo6xRtJSoHhtpPHyWkDOnL32okxcZ4hfas3rXmpS+
|
||||||
|
E0S+r39+f3a7W3U3sq6lkZ1o5EUuqzkwX70XSMHVypRN1HZDEXPvH5CM9pns4iTq
|
||||||
|
FQoKWFjn7ZY9eazILtzlwAk5JalK0U4oQZwbtBl4EP5Dhmeok5u3QByAxD1wXC3p
|
||||||
|
RZvEBEXmZ4BvNjol6aHPLTb7ff2urnLMWRJklM4JN9OB+IdWPvDzjbzwPwxGuwow
|
||||||
|
TUr/Mmheps4YlcWQZxWsRJHAqCr/cw3EczMLqJ46KFqjj8qu5w8y5zKgt48PckD8
|
||||||
|
MnV35R2B04STrxnN2vINt7/SkCxlwk45/wMnyi2/GKO2N9GS9DI10SbVrvul3TTk
|
||||||
|
t0DJsQobX+ew2Cn4aSbHSSQG2tsE3gUVomwEjuyGDP1TIFY=
|
||||||
-----END CERTIFICATE REQUEST-----
|
-----END CERTIFICATE REQUEST-----
|
||||||
|
|||||||
46
certlib/testdata/rsa-ca-cert.pem
vendored
46
certlib/testdata/rsa-ca-cert.pem
vendored
@@ -1,14 +1,34 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIICHDCCAc6gAwIBAgIVAN1AKHhLNsqcBEKYCqgjEMG65hhvMAUGAytlcDCBiTEL
|
MIIF6DCCA9CgAwIBAgIVANc3mjaz6CKa3IT0+lJZ/hxvcbw6MA0GCSqGSIb3DQEB
|
||||||
MAkGA1UEBhMCVVMxCTAHBgNVBAgTADEJMAcGA1UEBxMAMSIwIAYDVQQKExlXTlRS
|
CwUAMIGJMQswCQYDVQQGEwJVUzEJMAcGA1UECBMAMQkwBwYDVQQHEwAxIjAgBgNV
|
||||||
TVVURSBIRUFWWSBJTkRVU1RSSUVTMR8wHQYDVQQLExZDUllQVE9HUkFQSElDIFNF
|
BAoTGVdOVFJNVVRFIEhFQVZZIElORFVTVFJJRVMxHzAdBgNVBAsTFkNSWVBUT0dS
|
||||||
UlZJQ0VTMR8wHQYDVQQDExZXTlRSTVVURSBURVNUIFJTQSBDQSAxMB4XDTI1MTEx
|
QVBISUMgU0VSVklDRVMxHzAdBgNVBAMTFldOVFJNVVRFIFRFU1QgUlNBIENBIDEw
|
||||||
OTIxMDQyNVoXDTQ1MTExNDIyMDQyNVowgYkxCzAJBgNVBAYTAlVTMQkwBwYDVQQI
|
HhcNMjUxMTE5MjE1NzQ1WhcNNDUxMTE0MjI1NzQ1WjCBiTELMAkGA1UEBhMCVVMx
|
||||||
EwAxCTAHBgNVBAcTADEiMCAGA1UEChMZV05UUk1VVEUgSEVBVlkgSU5EVVNUUklF
|
CTAHBgNVBAgTADEJMAcGA1UEBxMAMSIwIAYDVQQKExlXTlRSTVVURSBIRUFWWSBJ
|
||||||
UzEfMB0GA1UECxMWQ1JZUFRPR1JBUEhJQyBTRVJWSUNFUzEfMB0GA1UEAxMWV05U
|
TkRVU1RSSUVTMR8wHQYDVQQLExZDUllQVE9HUkFQSElDIFNFUlZJQ0VTMR8wHQYD
|
||||||
Uk1VVEUgVEVTVCBSU0EgQ0EgMTAqMAUGAytlcAMhANS2otlgoblB9pKuC1nXaek5
|
VQQDExZXTlRSTVVURSBURVNUIFJTQSBDQSAxMIICIjANBgkqhkiG9w0BAQEFAAOC
|
||||||
XJqbrgc+huN3vXn7GRgao0UwQzAOBgNVHQ8BAf8EBAMCAgQwEgYDVR0TAQH/BAgw
|
Ag8AMIICCgKCAgEA2rYSoww2dAPH8XBD1d/5SpgkKx15LF5EOT0IZFuxOgp4GVh+
|
||||||
BgEB/wIBAzAdBgNVHQ4EFgQUetUgY5rlFq+OCeYe0Eqmp8Ek488wBQYDK2VwA0EA
|
w4yBnemCGxnWyucnIH6kXVxIzWo8kJcK9F2fXVD4V9nbnJ7ek5oBjnz0YlJsSlzG
|
||||||
LIFZo6FQL+8q8h66Bm7favIh2AlqsXA45DpRUN2LpjNm/7NbTPDw52y8cLegUUMc
|
K3B4nt2yJjexupmOHleebBfmofIITapqYoomgBSQnVgf+Bapfhsxg8bmhGjoqkLF
|
||||||
UhDyk20fGg5g6cLywC0mDA==
|
vqkqLlJwxOXuS+f19qCQcRUkt/ZmtAxbNMPCKOMkawpyMxZVlB6A/04ML7C63i6r
|
||||||
-----END CERTIFICATE-----
|
VkgVpcZb52WtCSjBUhldmsGQveWze7hEmINp05K8QfdUkH3KPP38spP4kVTOBsxY
|
||||||
|
LJnYareCv8dj5eyh27wmw+pDEBY8LGLX2CL4zHsyTuM6oFKF8NdvLXmaeonEVTlV
|
||||||
|
yM+1fmM88i8OwXjoglfmU7BI0lpVCyn+zng4vhvNt6X8GwdbO1FwM3MDG85bd51k
|
||||||
|
fMIT6jtRaQzC8kRH5yIB8lJKbyygblCIvkZ0y+2KrBB7+XxuRsTCzg4CeSz1T5T3
|
||||||
|
/lLeQsmr3czD6h4h3ibxtEaoIUFAX05Zpk44c7mQRPz2Ov9QXRR2Logw0i+PV9tM
|
||||||
|
lUpl0ziAMRwsdOJ6/daqGazL7iZHudV2vRsLzLkg0tDhojg3gFSXNZSilZ0UFqxl
|
||||||
|
hol1aq3mwFVge8RW+ROGUmgOUKaYE9ALtO2+pQDSUSEiBa15HfcVT8P459MCAwEA
|
||||||
|
AaNFMEMwDgYDVR0PAQH/BAQDAgIEMBIGA1UdEwEB/wQIMAYBAf8CAQMwHQYDVR0O
|
||||||
|
BBYEFAf60HUhXFOzcdtO8MJC2sN5qsmmMA0GCSqGSIb3DQEBCwUAA4ICAQAHBYjp
|
||||||
|
hN6U00cqqU/tk1CyUuJsPq2tGGIb3PxN+PvGLrhx27P+F8a5Sn2zBbkweX5vCu+i
|
||||||
|
o8EPavHAARIA+gF0UyM5MwPZdjdhNHDRGdASPphx7ZBa0e5Qp2XFyruw6EwHztyK
|
||||||
|
m7cF45MslGiEjRc7cciR5AUElRFhgY2QAlCcA8Tp6h3XJVSlaDhf+sS1EWlseVJN
|
||||||
|
GU5+Mu1L9vA6aiCKVtDviETfr7PmSY1obMrq9pDIoyo1jwflu/kTtmqDkDMkI1MI
|
||||||
|
mGKoHuKfAtZHiavjL7DMilO6X6ZMNPSYl4snm2hovHnoemifGuwlJ/V+HnDIMQAs
|
||||||
|
B5U3NY+IV6vlEYW3CmUfTsFjUzVpS/o/X5GBhG3pTAg9jUgpVsLNuVJrCg5PNpSL
|
||||||
|
xXMWRxj/y5ITm0m0/agNAd80KEDvCTbdORdDz4iYVG/L/GoaH3yPcmrBsE+2pPQb
|
||||||
|
rR1ihPU02wjY/oqlVt3mNzqczXZYoOW7FoW3O4dpP10kPA4O17nUJJ0FOU/vWXCS
|
||||||
|
7TgJwdlzoTPptK7c9zoZcHwPY2j0BVVgSofKlKlR1tJvqxbDA16pw2nsWl+r53Uc
|
||||||
|
Emw7SdHQfvDdbt42PL9g1CYqiYba7J9WkRWOYegSdOYLuaddYKN36xhCwT6p2/HM
|
||||||
|
EaRCxfUq2tmFzL2NhJLJlvNhpe7Zt5s/UF1oiQ==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
53
certlib/testdata/rsa-ca-priv.pem
vendored
53
certlib/testdata/rsa-ca-priv.pem
vendored
@@ -1,3 +1,52 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
-----BEGIN PRIVATE KEY-----
|
||||||
MC4CAQAwBQYDK2VwBCIEIDDkYbIZKArACSevxtX2Rr8MQSeJ4Jz0qJEe/YgHfjzo
|
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDathKjDDZ0A8fx
|
||||||
-----END PRIVATE KEY-----
|
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
|
||||||
|
eWRtwt2K2iouhIrKnXvlgEnfRUd9XXI=
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
|
|||||||
2
certlib/testdata/rsa-ca.yaml
vendored
2
certlib/testdata/rsa-ca.yaml
vendored
@@ -1,5 +1,5 @@
|
|||||||
key:
|
key:
|
||||||
algorithm: ed25519
|
algorithm: rsa
|
||||||
size: 4096
|
size: 4096
|
||||||
subject:
|
subject:
|
||||||
common_name: WNTRMUTE TEST RSA CA 1
|
common_name: WNTRMUTE TEST RSA CA 1
|
||||||
|
|||||||
Reference in New Issue
Block a user