mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-11 10:10:51 +02:00
Fix SM2 certs to have the correct public key OID
OpenSSL 3.5+ handles the OIDs differently.
This commit is contained in:
Binary file not shown.
+16
-16
@@ -5,11 +5,11 @@ Certificate:
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_SM2, OU=Root-SM2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=CA-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:21:92:f7:cb:24:df:64:4d:ba:ab:66:7b:83:75:
|
||||
@@ -29,23 +29,23 @@ Certificate:
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:46:02:21:00:ba:6b:14:b0:ef:08:bf:4c:32:63:62:2e:e1:
|
||||
5d:04:d9:45:04:79:c9:bf:9a:93:9f:05:44:f5:e6:33:64:b4:
|
||||
7e:02:21:00:e3:17:fe:87:35:30:f2:3b:ab:16:2d:5e:30:76:
|
||||
42:4e:cc:85:96:b9:2f:af:55:00:a5:4f:43:7c:13:54:3f:4f
|
||||
30:46:02:21:00:b2:b9:5b:02:ad:78:f8:52:ba:67:cf:cb:25:
|
||||
9b:ba:d9:56:f5:a7:ff:af:25:26:d5:f6:f3:f3:a6:f5:9a:2f:
|
||||
9b:02:21:00:bc:96:f3:39:13:76:dc:02:35:39:0e:dc:0a:69:
|
||||
bf:02:18:b6:01:be:ff:05:d7:2e:f2:7b:67:eb:16:e9:8e:c5
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICljCCAjugAwIBAgIBATAKBggqgRzPVQGDdTCBlTELMAkGA1UEBhMCVVMxEDAO
|
||||
MIIClzCCAjygAwIBAgIBATAKBggqgRzPVQGDdTCBlTELMAkGA1UEBhMCVVMxEDAO
|
||||
BgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xFDASBgNVBAoMC3dvbGZT
|
||||
U0xfU00yMREwDwYDVQQLDAhSb290LVNNMjEYMBYGA1UEAwwPd3d3LndvbGZzc2wu
|
||||
Y29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tMB4XDTI2MDIxODE0
|
||||
MjcyNloXDTI4MTExNDE0MjcyNlowgawxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdN
|
||||
Y29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tMB4XDTI2MDIxODE3
|
||||
NTY1N1oXDTI4MTExNDE3NTY1N1owgawxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdN
|
||||
b250YW5hMRAwDgYDVQQHDAdCb3plbWFuMRQwEgYDVQQKDAt3b2xmU1NMX3NtMjEP
|
||||
MA0GA1UECwwGQ0Etc20yMRgwFgYDVQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkq
|
||||
hkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xm
|
||||
U1NMMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEIZL3yyTfZE26q2Z7g3WpKef/
|
||||
ZGO21UKAIL3i4gISO460AJUJgMtW7UvKjVfmrgXTdidjcTmJt2nmSICu0alIEqNj
|
||||
MGEwHQYDVR0OBBYEFEcKSH67AqhaJlcrGal7YYt/XZluMB8GA1UdIwQYMBaAFDQd
|
||||
eUQVeaGxY5nj7WV8ZImA/7jsMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
|
||||
AgGGMAoGCCqBHM9VAYN1A0kAMEYCIQC6axSw7wi/TDJjYi7hXQTZRQR5yb+ak58F
|
||||
RPXmM2S0fgIhAOMX/oc1MPI7qxYtXjB2Qk7MhZa5L69VAKVPQ3wTVD9P
|
||||
U1NMMFowFAYIKoEcz1UBgi0GCCqBHM9VAYItA0IABCGS98sk32RNuqtme4N1qSnn
|
||||
/2RjttVCgCC94uICEjuOtACVCYDLVu1Lyo1X5q4F03YnY3E5ibdp5kiArtGpSBKj
|
||||
YzBhMB0GA1UdDgQWBBRHCkh+uwKoWiZXKxmpe2GLf12ZbjAfBgNVHSMEGDAWgBQ0
|
||||
HXlEFXmhsWOZ4+1lfGSJgP+47DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
||||
AwIBhjAKBggqgRzPVQGDdQNJADBGAiEAsrlbAq14+FK6Z8/LJZu62Vb1p/+vJSbV
|
||||
9vPzpvWaL5sCIQC8lvM5E3bcAjU5DtwKab8CGLYBvv8F1y7ye2frFumOxQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Binary file not shown.
+24
-24
@@ -2,15 +2,15 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
22:ce:97:23:6f:99:f4:f3:25:25:7e:01:76:ce:ae:80:56:b6:41:d1
|
||||
63:dd:75:63:8a:b0:51:4f:9c:4e:ff:6d:55:4e:cd:ee:8f:26:d3:80
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=Client-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=Client-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:3a:1d:e8:cb:4b:d3:2e:3f:4b:07:3f:b0:21:fe:
|
||||
@@ -25,7 +25,7 @@ Certificate:
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:E4:21:B2:C5:E5:D4:9E:82:CA:F8:67:F2:28:99:F6:85:E8:F1:55:EF
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=wolfSSL_sm2/OU=Client-sm2/CN=www.wolfssl.com/emailAddress=info@wolfssl.com/UID=wolfSSL
|
||||
serial:22:CE:97:23:6F:99:F4:F3:25:25:7E:01:76:CE:AE:80:56:B6:41:D1
|
||||
serial:63:DD:75:63:8A:B0:51:4F:9C:4E:FF:6D:55:4E:CD:EE:8F:26:D3:80
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
@@ -34,30 +34,30 @@ Certificate:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:44:02:20:27:71:25:22:69:ed:80:eb:3f:39:0e:7a:9b:a7:
|
||||
22:66:76:ef:d4:b4:5e:e8:8f:47:06:c7:2f:a4:f5:0f:09:6e:
|
||||
02:20:18:f9:bb:4c:4a:a0:a0:c9:ff:42:24:a1:9a:63:6b:ec:
|
||||
d1:25:e5:49:de:bd:83:e0:90:81:f4:23:49:f7:84:6e
|
||||
30:46:02:21:00:dd:98:90:68:35:95:61:2f:11:90:a5:e9:30:
|
||||
8b:9a:aa:33:cc:73:8a:76:96:8b:97:8c:4c:c3:10:fc:14:56:
|
||||
9b:02:21:00:f8:de:db:67:54:59:ca:98:27:3d:3f:f6:6f:30:
|
||||
0c:65:e1:fb:a0:9f:11:ab:ea:76:30:31:c4:66:11:d7:b9:f2
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDxjCCA22gAwIBAgIUIs6XI2+Z9PMlJX4Bds6ugFa2QdEwCgYIKoEcz1UBg3Uw
|
||||
MIIDyTCCA26gAwIBAgIUY911Y4qwUU+cTv9tVU7N7o8m04AwCgYIKoEcz1UBg3Uw
|
||||
gbAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3pl
|
||||
bWFuMRQwEgYDVQQKDAt3b2xmU1NMX3NtMjETMBEGA1UECwwKQ2xpZW50LXNtMjEY
|
||||
MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv
|
||||
bGZzc2wuY29tMRcwFQYKCZImiZPyLGQBAQwHd29sZlNTTDAeFw0yNjAyMTgxNDI3
|
||||
MjZaFw0yODExMTQxNDI3MjZaMIGwMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHTW9u
|
||||
bGZzc2wuY29tMRcwFQYKCZImiZPyLGQBAQwHd29sZlNTTDAeFw0yNjAyMTgxNzU2
|
||||
NTdaFw0yODExMTQxNzU2NTdaMIGwMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHTW9u
|
||||
dGFuYTEQMA4GA1UEBwwHQm96ZW1hbjEUMBIGA1UECgwLd29sZlNTTF9zbTIxEzAR
|
||||
BgNVBAsMCkNsaWVudC1zbTIxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0G
|
||||
CSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTEXMBUGCgmSJomT8ixkAQEMB3dv
|
||||
bGZTU0wwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQ6HejLS9MuP0sHP7Ah/sWe
|
||||
2co6k5OVdh0w2Qv1Vu0ZYO0BTPZnHfGsqHQNsnfISTjk/0zvjW2H9k7H+Dl0cHC1
|
||||
o4IBYTCCAV0wHQYDVR0OBBYEFOQhssXl1J6Cyvhn8iiZ9oXo8VXvMIHwBgNVHSME
|
||||
gegwgeWAFOQhssXl1J6Cyvhn8iiZ9oXo8VXvoYG2pIGzMIGwMQswCQYDVQQGEwJV
|
||||
UzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjEUMBIGA1UECgwL
|
||||
d29sZlNTTF9zbTIxEzARBgNVBAsMCkNsaWVudC1zbTIxGDAWBgNVBAMMD3d3dy53
|
||||
b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTEXMBUG
|
||||
CgmSJomT8ixkAQEMB3dvbGZTU0yCFCLOlyNvmfTzJSV+AXbOroBWtkHRMAwGA1Ud
|
||||
EwQFMAMBAf8wHAYDVR0RBBUwE4ILZXhhbXBsZS5jb22HBH8AAAEwHQYDVR0lBBYw
|
||||
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMAoGCCqBHM9VAYN1A0cAMEQCICdxJSJp7YDr
|
||||
PzkOepunImZ279S0XuiPRwbHL6T1DwluAiAY+btMSqCgyf9CJKGaY2vs0SXlSd69
|
||||
g+CQgfQjSfeEbg==
|
||||
bGZTU0wwWjAUBggqgRzPVQGCLQYIKoEcz1UBgi0DQgAEOh3oy0vTLj9LBz+wIf7F
|
||||
ntnKOpOTlXYdMNkL9VbtGWDtAUz2Zx3xrKh0DbJ3yEk45P9M741th/ZOx/g5dHBw
|
||||
taOCAWEwggFdMB0GA1UdDgQWBBTkIbLF5dSegsr4Z/IomfaF6PFV7zCB8AYDVR0j
|
||||
BIHoMIHlgBTkIbLF5dSegsr4Z/IomfaF6PFV76GBtqSBszCBsDELMAkGA1UEBhMC
|
||||
VVMxEDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xFDASBgNVBAoM
|
||||
C3dvbGZTU0xfc20yMRMwEQYDVQQLDApDbGllbnQtc20yMRgwFgYDVQQDDA93d3cu
|
||||
d29sZnNzbC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20xFzAV
|
||||
BgoJkiaJk/IsZAEBDAd3b2xmU1NMghRj3XVjirBRT5xO/21VTs3ujybTgDAMBgNV
|
||||
HRMEBTADAQH/MBwGA1UdEQQVMBOCC2V4YW1wbGUuY29thwR/AAABMB0GA1UdJQQW
|
||||
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAKBggqgRzPVQGDdQNJADBGAiEA3ZiQaDWV
|
||||
YS8RkKXpMIuaqjPMc4p2louXjEzDEPwUVpsCIQD43ttnVFnKmCc9P/ZvMAxl4fug
|
||||
nxGr6nYwMcRmEde58g==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Fix SM2 certificate SubjectPublicKeyInfo algorithm OID.
|
||||
|
||||
OpenSSL 3.x encodes SM2 keys using the generic id-ecPublicKey OID
|
||||
(1.2.840.10045.2.1) instead of the SM2-specific OID (1.2.156.10197.1.301).
|
||||
This script patches the SPKI algorithm OID back to SM2 and re-signs the
|
||||
certificate.
|
||||
|
||||
Usage: fix_sm2_spki.py <cert.pem> <signing-key.pem> <output.pem>
|
||||
"""
|
||||
|
||||
import base64
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
EC_PUBKEY_OID = bytes([0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01])
|
||||
SM2_ALGO_OID = bytes([0x06, 0x08, 0x2a, 0x81, 0x1c, 0xcf, 0x55, 0x01, 0x82, 0x2d])
|
||||
SM2_WITH_SM3 = bytes([0x30, 0x0a, 0x06, 0x08,
|
||||
0x2a, 0x81, 0x1c, 0xcf, 0x55, 0x01, 0x83, 0x75])
|
||||
|
||||
|
||||
def read_der_length(data, offset):
|
||||
b = data[offset]
|
||||
if b < 0x80:
|
||||
return b, 1
|
||||
num_bytes = b & 0x7f
|
||||
length = 0
|
||||
for i in range(num_bytes):
|
||||
length = (length << 8) | data[offset + 1 + i]
|
||||
return length, 1 + num_bytes
|
||||
|
||||
|
||||
def encode_der_length(length):
|
||||
if length < 0x80:
|
||||
return bytes([length])
|
||||
elif length < 0x100:
|
||||
return bytes([0x81, length])
|
||||
elif length < 0x10000:
|
||||
return bytes([0x82, length >> 8, length & 0xff])
|
||||
else:
|
||||
raise ValueError("Length too large: %d" % length)
|
||||
|
||||
|
||||
def find_enclosing_sequences(data, target_pos):
|
||||
"""Find length-field offsets of all SEQUENCEs enclosing target_pos."""
|
||||
results = []
|
||||
|
||||
def scan(offset, end):
|
||||
while offset < end:
|
||||
tag = data[offset]
|
||||
offset += 1
|
||||
length, len_bytes = read_der_length(data, offset)
|
||||
len_offset = offset
|
||||
offset += len_bytes
|
||||
content_start = offset
|
||||
content_end = offset + length
|
||||
|
||||
if tag == 0x30 and content_start <= target_pos < content_end:
|
||||
results.append((len_offset, length, len_bytes))
|
||||
scan(content_start, content_end)
|
||||
return
|
||||
offset = content_end
|
||||
|
||||
scan(0, len(data))
|
||||
return results
|
||||
|
||||
|
||||
def patch_tbs_spki_oid(tbs_der):
|
||||
"""Replace id-ecPublicKey with SM2 OID in TBS SubjectPublicKeyInfo."""
|
||||
oid_pos = tbs_der.find(EC_PUBKEY_OID)
|
||||
if oid_pos == -1:
|
||||
return None # Already has SM2 OID or no EC key
|
||||
|
||||
enclosing = find_enclosing_sequences(tbs_der, oid_pos)
|
||||
size_diff = len(SM2_ALGO_OID) - len(EC_PUBKEY_OID)
|
||||
|
||||
result = bytearray(
|
||||
tbs_der[:oid_pos] + SM2_ALGO_OID + tbs_der[oid_pos + len(EC_PUBKEY_OID):]
|
||||
)
|
||||
|
||||
for len_offset, old_length, old_len_bytes in enclosing:
|
||||
new_length = old_length + size_diff
|
||||
new_len_encoded = encode_der_length(new_length)
|
||||
if len(new_len_encoded) == old_len_bytes:
|
||||
result[len_offset:len_offset + old_len_bytes] = new_len_encoded
|
||||
else:
|
||||
result[len_offset:len_offset + old_len_bytes] = new_len_encoded
|
||||
size_diff += len(new_len_encoded) - old_len_bytes
|
||||
|
||||
return bytes(result)
|
||||
|
||||
|
||||
def pem_to_der(pem_text):
|
||||
b64 = ''.join(
|
||||
line for line in pem_text.split('\n')
|
||||
if not line.startswith('-----') and line.strip()
|
||||
)
|
||||
return base64.b64decode(b64)
|
||||
|
||||
|
||||
def der_to_pem(der_data, label="CERTIFICATE"):
|
||||
b64 = base64.b64encode(der_data).decode()
|
||||
lines = [b64[i:i+64] for i in range(0, len(b64), 64)]
|
||||
return ('-----BEGIN %s-----\n' % label +
|
||||
'\n'.join(lines) +
|
||||
'\n-----END %s-----\n' % label)
|
||||
|
||||
|
||||
def extract_tbs(cert_der):
|
||||
assert cert_der[0] == 0x30
|
||||
outer_len, outer_len_bytes = read_der_length(cert_der, 1)
|
||||
tbs_offset = 1 + outer_len_bytes
|
||||
tbs_len, tbs_len_bytes = read_der_length(cert_der, tbs_offset + 1)
|
||||
tbs_total = 1 + tbs_len_bytes + tbs_len
|
||||
return cert_der[tbs_offset:tbs_offset + tbs_total]
|
||||
|
||||
|
||||
def sign_tbs(tbs_der, key_pem_path):
|
||||
"""Sign TBS with SM2-with-SM3 using openssl dgst."""
|
||||
with tempfile.NamedTemporaryFile(suffix='.der', delete=False) as tbs_f:
|
||||
tbs_f.write(tbs_der)
|
||||
tbs_path = tbs_f.name
|
||||
|
||||
sig_path = tbs_path + '.sig'
|
||||
try:
|
||||
result = subprocess.run(
|
||||
['openssl', 'dgst', '-sm3', '-sign', key_pem_path,
|
||||
'-out', sig_path, tbs_path],
|
||||
capture_output=True, text=True
|
||||
)
|
||||
if result.returncode != 0:
|
||||
raise RuntimeError("openssl dgst failed: " + result.stderr)
|
||||
|
||||
with open(sig_path, 'rb') as f:
|
||||
return f.read()
|
||||
finally:
|
||||
os.unlink(tbs_path)
|
||||
if os.path.exists(sig_path):
|
||||
os.unlink(sig_path)
|
||||
|
||||
|
||||
def build_cert(tbs_der, sig_der):
|
||||
bit_string = bytes([0x03, len(sig_der) + 1, 0x00]) + sig_der
|
||||
cert_body = tbs_der + SM2_WITH_SM3 + bit_string
|
||||
return bytes([0x30]) + encode_der_length(len(cert_body)) + cert_body
|
||||
|
||||
|
||||
def fix_sm2_cert(cert_pem_path, key_pem_path, output_pem_path):
|
||||
with open(cert_pem_path, 'r') as f:
|
||||
cert_pem = f.read()
|
||||
|
||||
cert_der = pem_to_der(cert_pem)
|
||||
tbs = extract_tbs(cert_der)
|
||||
|
||||
new_tbs = patch_tbs_spki_oid(tbs)
|
||||
if new_tbs is None:
|
||||
print(" Already has SM2 OID, no patching needed")
|
||||
if cert_pem_path != output_pem_path:
|
||||
with open(output_pem_path, 'w') as f:
|
||||
f.write(cert_pem)
|
||||
return
|
||||
|
||||
sig = sign_tbs(new_tbs, key_pem_path)
|
||||
new_cert_der = build_cert(new_tbs, sig)
|
||||
|
||||
with open(output_pem_path, 'w') as f:
|
||||
f.write(der_to_pem(new_cert_der))
|
||||
|
||||
print(" Patched SPKI algorithm OID to SM2")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) != 4:
|
||||
print("Usage: %s <cert.pem> <signing-key.pem> <output.pem>" % sys.argv[0])
|
||||
sys.exit(1)
|
||||
|
||||
fix_sm2_cert(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
check_result(){
|
||||
if [ $1 -ne 0 ]; then
|
||||
echo "Failed at \"$2\", Abort"
|
||||
@@ -9,6 +11,15 @@ check_result(){
|
||||
fi
|
||||
}
|
||||
|
||||
# OpenSSL 3.x encodes SM2 keys using the generic id-ecPublicKey OID instead of
|
||||
# the SM2-specific OID. fix_sm2_spki.py patches the SubjectPublicKeyInfo
|
||||
# algorithm OID back to SM2 and re-signs the certificate.
|
||||
fix_sm2_oid(){
|
||||
# $1 = cert PEM, $2 = signing key PEM
|
||||
python3 "${SCRIPT_DIR}/fix_sm2_spki.py" "$1" "$2" "$1"
|
||||
check_result $? "Fix SM2 SPKI OID in $1"
|
||||
}
|
||||
|
||||
openssl pkey -in root-sm2-priv.pem -noout >/dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "OpenSSL does not support SM2"
|
||||
@@ -29,6 +40,7 @@ check_result $? "Generate request"
|
||||
openssl x509 -req -in root-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.cnf -extensions ca_ecc_cert -signkey root-sm2-priv.pem -out root-sm2.pem
|
||||
check_result $? "Generate certificate"
|
||||
rm root-sm2.csr
|
||||
fix_sm2_oid root-sm2.pem root-sm2-priv.pem
|
||||
|
||||
openssl x509 -in root-sm2.pem -outform DER > root-sm2.der
|
||||
check_result $? "Convert to DER"
|
||||
@@ -50,6 +62,7 @@ check_result $? "Generate request"
|
||||
openssl x509 -req -in ca-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.cnf -extensions ca_ecc_cert -CA root-sm2.pem -CAkey root-sm2-priv.pem -set_serial 01 -out ca-sm2.pem
|
||||
check_result $? "Generate certificate"
|
||||
rm ca-sm2.csr
|
||||
fix_sm2_oid ca-sm2.pem root-sm2-priv.pem
|
||||
|
||||
openssl x509 -in ca-sm2.pem -outform DER > ca-sm2.der
|
||||
check_result $? "Convert to DER"
|
||||
@@ -71,6 +84,7 @@ check_result $? "Generate request"
|
||||
openssl x509 -req -in self-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.cnf -extensions ca_ecc_cert -signkey self-sm2-priv.pem -out self-sm2-cert.pem
|
||||
check_result $? "Generate certificate"
|
||||
rm self-sm2.csr
|
||||
fix_sm2_oid self-sm2-cert.pem self-sm2-priv.pem
|
||||
|
||||
openssl x509 -in self-sm2-cert.pem -text > tmp.pem
|
||||
check_result $? "Add text"
|
||||
@@ -90,6 +104,7 @@ check_result $? "Generate request"
|
||||
openssl x509 -req -in server-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.cnf -extensions server_ecc -CA ca-sm2.pem -CAkey ca-sm2-priv.pem -set_serial 01 -out server-sm2-cert.pem
|
||||
check_result $? "Generate certificate"
|
||||
rm server-sm2.csr
|
||||
fix_sm2_oid server-sm2-cert.pem ca-sm2-priv.pem
|
||||
|
||||
openssl x509 -in server-sm2-cert.pem -outform DER > server-sm2-cert.der
|
||||
check_result $? "Convert to DER"
|
||||
@@ -113,6 +128,7 @@ check_result $? "Generate request"
|
||||
openssl x509 -req -in client-sm2.csr -days 1000 -extfile ../renewcerts/wolfssl.cnf -extensions wolfssl_opts -signkey client-sm2-priv.pem -out client-sm2.pem
|
||||
check_result $? "Generate certificate"
|
||||
rm client-sm2.csr
|
||||
fix_sm2_oid client-sm2.pem client-sm2-priv.pem
|
||||
|
||||
openssl x509 -in client-sm2.pem -outform DER > client-sm2.der
|
||||
check_result $? "Convert to DER"
|
||||
|
||||
Binary file not shown.
+16
-16
@@ -2,15 +2,15 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
44:c9:fc:33:05:6b:3c:f7:fc:15:02:02:f6:57:86:92:ca:7e:c2:31
|
||||
61:2a:93:12:b3:6e:ff:d6:9a:a7:98:c4:49:4d:c6:2c:3e:ea:5a:f9
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_SM2, OU=Root-SM2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_SM2, OU=Root-SM2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:bb:9c:75:8c:f7:17:f8:48:ab:f7:f6:db:0d:9a:
|
||||
@@ -30,23 +30,23 @@ Certificate:
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:46:02:21:00:87:f1:03:a0:b5:79:57:61:26:7e:73:1d:10:
|
||||
2f:dc:eb:e2:25:4a:a3:06:27:77:0d:d0:f4:ed:8d:53:62:83:
|
||||
6e:02:21:00:b6:e8:0b:78:ac:f6:79:e1:42:50:e1:46:68:6f:
|
||||
3f:4b:31:eb:ba:f0:04:40:5e:6a:50:39:a3:26:14:0d:5a:62
|
||||
30:46:02:21:00:fe:8d:2f:b9:c9:55:db:2c:d4:89:ff:a1:92:
|
||||
03:ce:4a:09:00:7f:c4:b3:b6:55:ae:a1:f6:7b:3e:ed:c4:dd:
|
||||
7c:02:21:00:d0:be:9b:4a:a9:cf:52:c1:cd:0d:bc:86:29:9e:
|
||||
c4:e2:f1:fa:86:f3:73:01:e2:3b:c5:cc:99:0a:bb:c3:a8:ee
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICkjCCAjegAwIBAgIURMn8MwVrPPf8FQIC9leGksp+wjEwCgYIKoEcz1UBg3Uw
|
||||
MIICkzCCAjigAwIBAgIUYSqTErNu/9aap5jESU3GLD7qWvkwCgYIKoEcz1UBg3Uw
|
||||
gZUxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3pl
|
||||
bWFuMRQwEgYDVQQKDAt3b2xmU1NMX1NNMjERMA8GA1UECwwIUm9vdC1TTTIxGDAW
|
||||
BgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xm
|
||||
c3NsLmNvbTAeFw0yNjAyMTgxNDI3MjZaFw0yODExMTQxNDI3MjZaMIGVMQswCQYD
|
||||
c3NsLmNvbTAeFw0yNjAyMTgxNzU2NTdaFw0yODExMTQxNzU2NTdaMIGVMQswCQYD
|
||||
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjEUMBIG
|
||||
A1UECgwLd29sZlNTTF9TTTIxETAPBgNVBAsMCFJvb3QtU00yMRgwFgYDVQQDDA93
|
||||
d3cud29sZnNzbC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20w
|
||||
WTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAS7nHWM9xf4SKv39tsNmo2fwtFHl5UL
|
||||
TuZX7MX4V1RxOTx54UA/tlHpfMfaLe/S6HmBe6ujX2sqbJcaXo7Z0MwEo2MwYTAd
|
||||
BgNVHQ4EFgQUNB15RBV5obFjmePtZXxkiYD/uOwwHwYDVR0jBBgwFoAUNB15RBV5
|
||||
obFjmePtZXxkiYD/uOwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw
|
||||
CgYIKoEcz1UBg3UDSQAwRgIhAIfxA6C1eVdhJn5zHRAv3OviJUqjBid3DdD07Y1T
|
||||
YoNuAiEAtugLeKz2eeFCUOFGaG8/SzHruvAEQF5qUDmjJhQNWmI=
|
||||
WjAUBggqgRzPVQGCLQYIKoEcz1UBgi0DQgAEu5x1jPcX+Eir9/bbDZqNn8LRR5eV
|
||||
C07mV+zF+FdUcTk8eeFAP7ZR6XzH2i3v0uh5gXuro19rKmyXGl6O2dDMBKNjMGEw
|
||||
HQYDVR0OBBYEFDQdeUQVeaGxY5nj7WV8ZImA/7jsMB8GA1UdIwQYMBaAFDQdeUQV
|
||||
eaGxY5nj7WV8ZImA/7jsMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGG
|
||||
MAoGCCqBHM9VAYN1A0kAMEYCIQD+jS+5yVXbLNSJ/6GSA85KCQB/xLO2Va6h9ns+
|
||||
7cTdfAIhANC+m0qpz1LBzQ28himexOLx+obzcwHiO8XMmQq7w6ju
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
+17
-17
@@ -2,15 +2,15 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
5a:4d:19:0c:5a:d6:78:7e:81:86:ec:3c:90:3a:31:f8:0c:be:8c:0f
|
||||
26:2d:4b:fe:64:7d:97:44:c8:85:22:01:96:b3:a5:db:1c:64:12:1b
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=AU, ST=QLD, O=wolfSSL, OU=Testing, CN=wolfssl-dev-sm2, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=AU, ST=QLD, O=wolfSSL, OU=Testing, CN=wolfssl-dev-sm2, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:d8:c4:a1:f1:0b:8b:8d:c4:7d:dc:d4:65:b9:a5:
|
||||
@@ -30,23 +30,23 @@ Certificate:
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:45:02:20:1b:ca:50:2d:8d:36:ae:cf:53:63:c7:77:b8:77:
|
||||
c3:83:61:9f:7f:62:d5:86:5d:30:b8:a7:ac:28:b2:b0:68:e4:
|
||||
02:21:00:ff:d7:47:b4:ae:d6:b8:d3:8d:b8:5d:b1:44:5e:10:
|
||||
16:91:e8:1b:06:95:12:b1:aa:42:f0:74:db:f6:ee:80:06
|
||||
30:45:02:21:00:cb:1a:f6:3d:c5:63:4f:fb:23:c9:22:e5:c6:
|
||||
53:12:e0:90:81:42:ef:61:98:0b:c9:93:ff:27:59:e6:81:57:
|
||||
25:02:20:45:7a:6e:db:0f:15:c7:90:f0:ad:fe:a6:85:42:d3:
|
||||
dc:ed:7b:56:e6:12:6e:73:12:55:69:32:c5:16:22:f0:cd
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICjTCCAjOgAwIBAgIUWk0ZDFrWeH6Bhuw8kDox+Ay+jA8wCgYIKoEcz1UBg3Uw
|
||||
MIICjjCCAjSgAwIBAgIUJi1L/mR9l0TIhSIBlrOl2xxkEhswCgYIKoEcz1UBg3Uw
|
||||
gZMxCzAJBgNVBAYTAkFVMQwwCgYDVQQIDANRTEQxEDAOBgNVBAoMB3dvbGZTU0wx
|
||||
EDAOBgNVBAsMB1Rlc3RpbmcxGDAWBgNVBAMMD3dvbGZzc2wtZGV2LXNtMjEfMB0G
|
||||
CSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTEXMBUGCgmSJomT8ixkAQEMB3dv
|
||||
bGZTU0wwHhcNMjYwMjE4MTQyNzI2WhcNMjgxMTE0MTQyNzI2WjCBkzELMAkGA1UE
|
||||
bGZTU0wwHhcNMjYwMjE4MTc1NjU3WhcNMjgxMTE0MTc1NjU3WjCBkzELMAkGA1UE
|
||||
BhMCQVUxDDAKBgNVBAgMA1FMRDEQMA4GA1UECgwHd29sZlNTTDEQMA4GA1UECwwH
|
||||
VGVzdGluZzEYMBYGA1UEAwwPd29sZnNzbC1kZXYtc20yMR8wHQYJKoZIhvcNAQkB
|
||||
FhBpbmZvQHdvbGZzc2wuY29tMRcwFQYKCZImiZPyLGQBAQwHd29sZlNTTDBZMBMG
|
||||
ByqGSM49AgEGCCqBHM9VAYItA0IABNjEofELi43EfdzUZbmlVU77rDOrm0OUTEhA
|
||||
GzPZG8wxwYJWP7DAa5VAUf2IAgGxsJRsBuun2o7ucLblu7Qe57SjYzBhMB0GA1Ud
|
||||
DgQWBBRul+iYtlu2rocE2xRWZhb0uC2M8jAfBgNVHSMEGDAWgBRul+iYtlu2rocE
|
||||
2xRWZhb0uC2M8jAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAKBggq
|
||||
gRzPVQGDdQNIADBFAiAbylAtjTauz1Njx3e4d8ODYZ9/YtWGXTC4p6wosrBo5AIh
|
||||
AP/XR7Su1rjTjbhdsUReEBaR6BsGlRKxqkLwdNv27oAG
|
||||
FhBpbmZvQHdvbGZzc2wuY29tMRcwFQYKCZImiZPyLGQBAQwHd29sZlNTTDBaMBQG
|
||||
CCqBHM9VAYItBggqgRzPVQGCLQNCAATYxKHxC4uNxH3c1GW5pVVO+6wzq5tDlExI
|
||||
QBsz2RvMMcGCVj+wwGuVQFH9iAIBsbCUbAbrp9qO7nC25bu0Hue0o2MwYTAdBgNV
|
||||
HQ4EFgQUbpfomLZbtq6HBNsUVmYW9LgtjPIwHwYDVR0jBBgwFoAUbpfomLZbtq6H
|
||||
BNsUVmYW9LgtjPIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwCgYI
|
||||
KoEcz1UBg3UDSAAwRQIhAMsa9j3FY0/7I8ki5cZTEuCQgULvYZgLyZP/J1nmgVcl
|
||||
AiBFem7bDxXHkPCt/qaFQtPc7XtW5hJucxJVaTLFFiLwzQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Binary file not shown.
@@ -5,11 +5,11 @@ Certificate:
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=CA-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=Server-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:94:70:2b:46:e4:5e:0f:41:fb:8f:2d:34:0a:41:
|
||||
@@ -33,25 +33,25 @@ Certificate:
|
||||
SSL Server
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:45:02:20:07:11:e4:64:42:5a:2b:74:1d:7d:bb:81:33:7f:
|
||||
fd:5c:bd:93:f5:73:09:fc:23:5a:c4:f6:94:fc:4d:6a:da:ee:
|
||||
02:21:00:fb:f5:72:b6:cc:6c:92:d6:38:68:01:c5:ab:cb:9b:
|
||||
d7:dc:cc:bb:6f:38:4e:1b:85:7d:d7:9c:a4:ed:b8:29:c8
|
||||
30:46:02:21:00:96:50:5f:3e:3f:bf:1e:50:6c:9a:5d:4e:8e:
|
||||
ef:27:a1:4d:fa:b9:75:a6:58:0e:f6:db:60:32:20:e4:31:1d:
|
||||
36:02:21:00:e7:cb:5c:9f:85:7d:4c:b5:54:74:e4:45:c4:f0:
|
||||
01:53:51:33:07:dd:28:c6:c7:47:ff:d6:dc:b0:e1:36:cc:3b
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC1zCCAn2gAwIBAgIBATAKBggqgRzPVQGDdTCBrDELMAkGA1UEBhMCVVMxEDAO
|
||||
MIIC2TCCAn6gAwIBAgIBATAKBggqgRzPVQGDdTCBrDELMAkGA1UEBhMCVVMxEDAO
|
||||
BgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xFDASBgNVBAoMC3dvbGZT
|
||||
U0xfc20yMQ8wDQYDVQQLDAZDQS1zbTIxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNv
|
||||
bTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTEXMBUGCgmSJomT8ixk
|
||||
AQEMB3dvbGZTU0wwHhcNMjYwMjE4MTQyNzI2WhcNMjgxMTE0MTQyNzI2WjCBsDEL
|
||||
AQEMB3dvbGZTU0wwHhcNMjYwMjE4MTc1NjU3WhcNMjgxMTE0MTc1NjU3WjCBsDEL
|
||||
MAkGA1UEBhMCVVMxEDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4x
|
||||
FDASBgNVBAoMC3dvbGZTU0xfc20yMRMwEQYDVQQLDApTZXJ2ZXItc20yMRgwFgYD
|
||||
VQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNz
|
||||
bC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xmU1NMMFkwEwYHKoZIzj0CAQYIKoEc
|
||||
z1UBgi0DQgAElHArRuReD0H7jy00CkFAGV771B0RrPr1kzfG+ocI9xYfLM4wQJ1P
|
||||
pioKodaVM8OmA5jmjQU0sJcM3qTHz1OP0aOBiTCBhjAdBgNVHQ4EFgQUZ65g/34b
|
||||
D5WuH4JZ8mxWLZPvFzIwHwYDVR0jBBgwFoAURwpIfrsCqFomVysZqXthi39dmW4w
|
||||
DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCA6gwEwYDVR0lBAwwCgYIKwYBBQUH
|
||||
AwEwEQYJYIZIAYb4QgEBBAQDAgZAMAoGCCqBHM9VAYN1A0gAMEUCIAcR5GRCWit0
|
||||
HX27gTN//Vy9k/VzCfwjWsT2lPxNatruAiEA+/VytsxsktY4aAHFq8ub19zMu284
|
||||
ThuFfdecpO24Kcg=
|
||||
bC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xmU1NMMFowFAYIKoEcz1UBgi0GCCqB
|
||||
HM9VAYItA0IABJRwK0bkXg9B+48tNApBQBle+9QdEaz69ZM3xvqHCPcWHyzOMECd
|
||||
T6YqCqHWlTPDpgOY5o0FNLCXDN6kx89Tj9GjgYkwgYYwHQYDVR0OBBYEFGeuYP9+
|
||||
Gw+Vrh+CWfJsVi2T7xcyMB8GA1UdIwQYMBaAFEcKSH67AqhaJlcrGal7YYt/XZlu
|
||||
MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgOoMBMGA1UdJQQMMAoGCCsGAQUF
|
||||
BwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAKBggqgRzPVQGDdQNJADBGAiEAllBfPj+/
|
||||
HlBsml1Oju8noU36uXWmWA7222AyIOQxHTYCIQDny1yfhX1MtVR05EXE8AFTUTMH
|
||||
3SjGx0f/1tyw4TbMOw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
+33
-33
@@ -5,11 +5,11 @@ Certificate:
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=CA-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=Server-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:94:70:2b:46:e4:5e:0f:41:fb:8f:2d:34:0a:41:
|
||||
@@ -33,27 +33,27 @@ Certificate:
|
||||
SSL Server
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:45:02:20:07:11:e4:64:42:5a:2b:74:1d:7d:bb:81:33:7f:
|
||||
fd:5c:bd:93:f5:73:09:fc:23:5a:c4:f6:94:fc:4d:6a:da:ee:
|
||||
02:21:00:fb:f5:72:b6:cc:6c:92:d6:38:68:01:c5:ab:cb:9b:
|
||||
d7:dc:cc:bb:6f:38:4e:1b:85:7d:d7:9c:a4:ed:b8:29:c8
|
||||
30:46:02:21:00:96:50:5f:3e:3f:bf:1e:50:6c:9a:5d:4e:8e:
|
||||
ef:27:a1:4d:fa:b9:75:a6:58:0e:f6:db:60:32:20:e4:31:1d:
|
||||
36:02:21:00:e7:cb:5c:9f:85:7d:4c:b5:54:74:e4:45:c4:f0:
|
||||
01:53:51:33:07:dd:28:c6:c7:47:ff:d6:dc:b0:e1:36:cc:3b
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC1zCCAn2gAwIBAgIBATAKBggqgRzPVQGDdTCBrDELMAkGA1UEBhMCVVMxEDAO
|
||||
MIIC2TCCAn6gAwIBAgIBATAKBggqgRzPVQGDdTCBrDELMAkGA1UEBhMCVVMxEDAO
|
||||
BgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xFDASBgNVBAoMC3dvbGZT
|
||||
U0xfc20yMQ8wDQYDVQQLDAZDQS1zbTIxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNv
|
||||
bTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTEXMBUGCgmSJomT8ixk
|
||||
AQEMB3dvbGZTU0wwHhcNMjYwMjE4MTQyNzI2WhcNMjgxMTE0MTQyNzI2WjCBsDEL
|
||||
AQEMB3dvbGZTU0wwHhcNMjYwMjE4MTc1NjU3WhcNMjgxMTE0MTc1NjU3WjCBsDEL
|
||||
MAkGA1UEBhMCVVMxEDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4x
|
||||
FDASBgNVBAoMC3dvbGZTU0xfc20yMRMwEQYDVQQLDApTZXJ2ZXItc20yMRgwFgYD
|
||||
VQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNz
|
||||
bC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xmU1NMMFkwEwYHKoZIzj0CAQYIKoEc
|
||||
z1UBgi0DQgAElHArRuReD0H7jy00CkFAGV771B0RrPr1kzfG+ocI9xYfLM4wQJ1P
|
||||
pioKodaVM8OmA5jmjQU0sJcM3qTHz1OP0aOBiTCBhjAdBgNVHQ4EFgQUZ65g/34b
|
||||
D5WuH4JZ8mxWLZPvFzIwHwYDVR0jBBgwFoAURwpIfrsCqFomVysZqXthi39dmW4w
|
||||
DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCA6gwEwYDVR0lBAwwCgYIKwYBBQUH
|
||||
AwEwEQYJYIZIAYb4QgEBBAQDAgZAMAoGCCqBHM9VAYN1A0gAMEUCIAcR5GRCWit0
|
||||
HX27gTN//Vy9k/VzCfwjWsT2lPxNatruAiEA+/VytsxsktY4aAHFq8ub19zMu284
|
||||
ThuFfdecpO24Kcg=
|
||||
bC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xmU1NMMFowFAYIKoEcz1UBgi0GCCqB
|
||||
HM9VAYItA0IABJRwK0bkXg9B+48tNApBQBle+9QdEaz69ZM3xvqHCPcWHyzOMECd
|
||||
T6YqCqHWlTPDpgOY5o0FNLCXDN6kx89Tj9GjgYkwgYYwHQYDVR0OBBYEFGeuYP9+
|
||||
Gw+Vrh+CWfJsVi2T7xcyMB8GA1UdIwQYMBaAFEcKSH67AqhaJlcrGal7YYt/XZlu
|
||||
MAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgOoMBMGA1UdJQQMMAoGCCsGAQUF
|
||||
BwMBMBEGCWCGSAGG+EIBAQQEAwIGQDAKBggqgRzPVQGDdQNJADBGAiEAllBfPj+/
|
||||
HlBsml1Oju8noU36uXWmWA7222AyIOQxHTYCIQDny1yfhX1MtVR05EXE8AFTUTMH
|
||||
3SjGx0f/1tyw4TbMOw==
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
@@ -62,11 +62,11 @@ Certificate:
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=wolfSSL_SM2, OU=Root-SM2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Feb 18 14:27:26 2026 GMT
|
||||
Not After : Nov 14 14:27:26 2028 GMT
|
||||
Not Before: Feb 18 17:56:57 2026 GMT
|
||||
Not After : Nov 14 17:56:57 2028 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL_sm2, OU=CA-sm2, CN=www.wolfssl.com, emailAddress=info@wolfssl.com, UID=wolfSSL
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public Key Algorithm: sm2
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:21:92:f7:cb:24:df:64:4d:ba:ab:66:7b:83:75:
|
||||
@@ -86,23 +86,23 @@ Certificate:
|
||||
Digital Signature, Certificate Sign, CRL Sign
|
||||
Signature Algorithm: SM2-with-SM3
|
||||
Signature Value:
|
||||
30:46:02:21:00:ba:6b:14:b0:ef:08:bf:4c:32:63:62:2e:e1:
|
||||
5d:04:d9:45:04:79:c9:bf:9a:93:9f:05:44:f5:e6:33:64:b4:
|
||||
7e:02:21:00:e3:17:fe:87:35:30:f2:3b:ab:16:2d:5e:30:76:
|
||||
42:4e:cc:85:96:b9:2f:af:55:00:a5:4f:43:7c:13:54:3f:4f
|
||||
30:46:02:21:00:b2:b9:5b:02:ad:78:f8:52:ba:67:cf:cb:25:
|
||||
9b:ba:d9:56:f5:a7:ff:af:25:26:d5:f6:f3:f3:a6:f5:9a:2f:
|
||||
9b:02:21:00:bc:96:f3:39:13:76:dc:02:35:39:0e:dc:0a:69:
|
||||
bf:02:18:b6:01:be:ff:05:d7:2e:f2:7b:67:eb:16:e9:8e:c5
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICljCCAjugAwIBAgIBATAKBggqgRzPVQGDdTCBlTELMAkGA1UEBhMCVVMxEDAO
|
||||
MIIClzCCAjygAwIBAgIBATAKBggqgRzPVQGDdTCBlTELMAkGA1UEBhMCVVMxEDAO
|
||||
BgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xFDASBgNVBAoMC3dvbGZT
|
||||
U0xfU00yMREwDwYDVQQLDAhSb290LVNNMjEYMBYGA1UEAwwPd3d3LndvbGZzc2wu
|
||||
Y29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tMB4XDTI2MDIxODE0
|
||||
MjcyNloXDTI4MTExNDE0MjcyNlowgawxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdN
|
||||
Y29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tMB4XDTI2MDIxODE3
|
||||
NTY1N1oXDTI4MTExNDE3NTY1N1owgawxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdN
|
||||
b250YW5hMRAwDgYDVQQHDAdCb3plbWFuMRQwEgYDVQQKDAt3b2xmU1NMX3NtMjEP
|
||||
MA0GA1UECwwGQ0Etc20yMRgwFgYDVQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkq
|
||||
hkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20xFzAVBgoJkiaJk/IsZAEBDAd3b2xm
|
||||
U1NMMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEIZL3yyTfZE26q2Z7g3WpKef/
|
||||
ZGO21UKAIL3i4gISO460AJUJgMtW7UvKjVfmrgXTdidjcTmJt2nmSICu0alIEqNj
|
||||
MGEwHQYDVR0OBBYEFEcKSH67AqhaJlcrGal7YYt/XZluMB8GA1UdIwQYMBaAFDQd
|
||||
eUQVeaGxY5nj7WV8ZImA/7jsMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
|
||||
AgGGMAoGCCqBHM9VAYN1A0kAMEYCIQC6axSw7wi/TDJjYi7hXQTZRQR5yb+ak58F
|
||||
RPXmM2S0fgIhAOMX/oc1MPI7qxYtXjB2Qk7MhZa5L69VAKVPQ3wTVD9P
|
||||
U1NMMFowFAYIKoEcz1UBgi0GCCqBHM9VAYItA0IABCGS98sk32RNuqtme4N1qSnn
|
||||
/2RjttVCgCC94uICEjuOtACVCYDLVu1Lyo1X5q4F03YnY3E5ibdp5kiArtGpSBKj
|
||||
YzBhMB0GA1UdDgQWBBRHCkh+uwKoWiZXKxmpe2GLf12ZbjAfBgNVHSMEGDAWgBQ0
|
||||
HXlEFXmhsWOZ4+1lfGSJgP+47DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
||||
AwIBhjAKBggqgRzPVQGDdQNJADBGAiEAsrlbAq14+FK6Z8/LJZu62Vb1p/+vJSbV
|
||||
9vPzpvWaL5sCIQC8lvM5E3bcAjU5DtwKab8CGLYBvv8F1y7ye2frFumOxQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Reference in New Issue
Block a user