1.0 Certificates and Private Keys 1.1 Trust Anchor Certificate and Private Key -----BEGIN CERTIFICATE----- MIIBrDCCAVICAQEwCgYIKoEcz1UBg3UwYjELMAkGA1UEBhMCQVUxKDAmBgNVBAoM H1RoZSBMZWdpb24gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJv dXJuZTEVMBMGA1UEAwwMVHJ1c3QgQW5jaG9yMB4XDTE5MDgzMDA0NDQwM1oXDTIw MDgyOTA0NDQwNFowYjELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1RoZSBMZWdpb24g b2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJuZTEVMBMGA1UE AwwMVHJ1c3QgQW5jaG9yMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEbti0038+ fXQboLfFAkX3+Yc398RrCmhzb2UgEvEJs/5RhRvk0bZmMHyNlZQaKWDGDQ0EuQTm dHqIPoYxqsm2cjAKBggqgRzPVQGDdQNIADBFAiEAy4i4k+sN5jOW/JvYQn0XcFz8 A2KGLeyRzx9CGW4Vx3cCIChVZGw65K/gaABuMcTv5CY3uCR2MscT3GGmIQLYpSUf -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEIG29/sMMoPRXxhaOFNuEEJjvu02FABJ3V+MVLXZnH9tooAoGCCqBHM9V AYItoUQDQgAEbti0038+fXQboLfFAkX3+Yc398RrCmhzb2UgEvEJs/5RhRvk0bZm MHyNlZQaKWDGDQ0EuQTmdHqIPoYxqsm2cg== -----END EC PRIVATE KEY----- 1.2 Server Certificate and Private Key -----BEGIN CERTIFICATE----- MIICgjCCAiigAwIBAgIBATAKBggqgRzPVQGDdTBiMQswCQYDVQQGEwJBVTEoMCYG A1UECgwfVGhlIExlZ2lvbiBvZiB0aGUgQm91bmN5IENhc3RsZTESMBAGA1UEBwwJ TWVsYm91cm5lMRUwEwYDVQQDDAxUcnVzdCBBbmNob3IwHhcNMTkwODMwMDQ0NDAz WhcNMjAwODI5MDQ0NDA0WjBhMQswCQYDVQQGEwJBVTEoMCYGA1UECgwfVGhlIExl Z2lvbiBvZiB0aGUgQm91bmN5IENhc3RsZTESMBAGA1UEBwwJTWVsYm91cm5lMRQw EgYDVQQDDAtzZXJ2ZXIudGVzdDBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABEO4 2oAcRwEc9HPnBzJ4BGNS/8exHBjUy24EViBWAmxqdrZWFnrlmcIe+8vMA0WchMUm W56CGBbjvglBDHHypF6jgc8wgcwwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC B4AwHQYDVR0OBBYEFDAD3HoZs5CwvuTz5xhuJFPWvHJyMIGMBgNVHSMEgYQwgYGA FGL/pwgkDFHO41jZBHwpO7sK5XuToWakZDBiMQswCQYDVQQGEwJBVTEoMCYGA1UE CgwfVGhlIExlZ2lvbiBvZiB0aGUgQm91bmN5IENhc3RsZTESMBAGA1UEBwwJTWVs Ym91cm5lMRUwEwYDVQQDDAxUcnVzdCBBbmNob3KCAQEwCgYIKoEcz1UBg3UDSAAw RQIgWj4n0BBDsq6pTpYWymMPM8pWKW2zatuvX1pMbBMLya8CIQC3o8vw+DqSgdqh htq0uolt4hrhuMmKV8P+8vG6WDzBQw== -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEIFu/PhcENDs8lUrYDXMpiJfsSl5xO/Ho9BTVT2VuqhPXoAoGCCqBHM9V AYItoUQDQgAEQ7jagBxHARz0c+cHMngEY1L/x7EcGNTLbgRWIFYCbGp2tlYWeuWZ wh77y8wDRZyExSZbnoIYFuO+CUEMcfKkXg== -----END EC PRIVATE KEY----- 1.3 Client Certificate and Private Key -----BEGIN CERTIFICATE----- MIICfDCCAiOgAwIBAgIBAjAKBggqgRzPVQGDdTBiMQswCQYDVQQGEwJBVTEoMCYG A1UECgwfVGhlIExlZ2lvbiBvZiB0aGUgQm91bmN5IENhc3RsZTESMBAGA1UEBwwJ TWVsYm91cm5lMRUwEwYDVQQDDAxUcnVzdCBBbmNob3IwHhcNMTkwODMwMDQ0NDAz WhcNMjAwODI5MDQ0NDA0WjBcMQswCQYDVQQGEwJBVTEoMCYGA1UECgwfVGhlIExl Z2lvbiBvZiB0aGUgQm91bmN5IENhc3RsZTESMBAGA1UEBwwJTWVsYm91cm5lMQ8w DQYDVQQDDAZzZXJ2ZXIwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAASIirpDukyr vDPM7nzCcQyWuCUKryzTOPscatrzDmbGAmnJRH3IStT4/QzSd4nlf5sulclCSqD0 6dxrK/g6ZzSYo4HPMIHMMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G A1UdDgQWBBT4r0UtJSogZH7wVd7zAyG5/BiMAzCBjAYDVR0jBIGEMIGBgBRi/6cI JAxRzuNY2QR8KTu7CuV7k6FmpGQwYjELMAkGA1UEBhMCQVUxKDAmBgNVBAoMH1Ro ZSBMZWdpb24gb2YgdGhlIEJvdW5jeSBDYXN0bGUxEjAQBgNVBAcMCU1lbGJvdXJu ZTEVMBMGA1UEAwwMVHJ1c3QgQW5jaG9yggEBMAoGCCqBHM9VAYN1A0cAMEQCIH/Q HIC/j0AZ2lnq+kDLuDE79CkPZTykM1y+CcWTpMA3AiAliVt8LC266lKhe7KiT57H 0BqKUNrBpke4w/825tvG9w== -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- MHcCAQEEIPRClwGRbiZHkAYIeHmOvIbVpdUK/TJsiocWyDVgSRqwoAoGCCqBHM9V AYItoUQDQgAEiIq6Q7pMq7wzzO58wnEMlrglCq8s0zj7HGra8w5mxgJpyUR9yErU +P0M0neJ5X+bLpXJQkqg9Oncayv4Omc0mA== -----END EC PRIVATE KEY----- 3.0 SM3 Digest 3.1 String Tests "" = 1ab21d8355cfa17f8e61194831e81a8f22bec8c728fefb747ed035eb5082aa2b "a" = 623476ac18f65a2909e43c7fec61b49c7e764a91a18ccb82f1917a29c86c5e88 "abc" = 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0 "abcdefghijklmnopqrstuvwxyz0123456789" = e322fe2999b4e911589c7749be652fe0ec9e6396512abe9a4b2c6d86edcceb7c 3.2 'a' Tests 64 'a's = 616ec433c359e7c2b19f360e2b8f2a1b6e9ed76b8dc1a7d207b31a5341c611e9 128 'a's = 5fd947effbe82a5925faaee9123d43cea200cc257b28ed797505694b4bb020f6 1000 'a's = f4bedca973227d45c5b822551d2e762d4cfb0e9af70b241452545727b5fb046f 10000 'a's = 8ad767fd3219a12d276510834399dd3801b29532acf7ad19b83bc9f351f2ad01 3.3 Iteration Tests message hash, rehashed 10,000 times. E.g. D = SM3(MSG) FOR I = 1 TO 10000 DO D=SM3(D) "" = 11ee26dd8a7767c2e784065b14c2877fff0c00aad77d3b9d663162b4738b7f09 "a" = fab0112778c4ea3ffaeb7010839bfbc45b5c05ce1eca64bc0b80d5479c9f58a9 "abc" = 200ad5a7f4cfdd153e6e250fbefbdeaaee7f9f292bf1383db3f7ceb61ba24576 "abcdefghijklmnopqrstuvwxyz0123456789" = 00e29a3f0e9cf7d1ccd882d2b5f13276b34aab5e6b4590e9cbd17afe08cbedba 4.0 SM3withSM2 Signature 4.1 Client Key Signed Using ID "1234567812345678" 4.1.1 Known Answer k = ae23b12904736fc2f296ca61e2ff27a92207141148fa0c1bc345e8357392ac75 "" = 30450220271895269d3c5ea3d663aafe8ae9f74934f7ba74f74261027b6d949fe8ad84f9022100bbfdd791fe1e0297e4086b0cccf21c1012d14ea52e45e241151135242f9a7c19 k = ccc19eb5cd16b0080051fcad48a9112b7bcf8c4cce6614c80caecc4cbb9e95ec "a" = 304502202a8fcaf59c0c9f2868ac74f1a1a8a73096ba72d7cab9a8d9d9819a5cb6292ed7022100a75149b0a8bea5cdeda384c332eaccd1fa1bbb2aa115112dfd7b15feff41298b k = 7606ea2d1fe09817b36e3f0cc45f987d673b3dbb93ca1744193f22ef8ee11e71 "abc" = 3046022100c21794c892340aa13fc6ab2e3e2f7ddaa286fa8a9dc8c5a0c7f2b00e0c036012022100fb60bbdadbe1ba1f752ed87e018d6a4d8c4a682f5da5bc36e242a2b1ed11a6f3 k = 6d48c751adb83a492a725f460d38418fde73fc6115a3d880ec60f7e0d8d8a41d "abcdefghijklmnopqrstuvwxyz0123456789" = 30440220320d1ba1279e48dd70e8728cb6c61d40a754f6345539244df0427314a72230ae02204144eb2b1bb2b6e4fb00ec7c9d2ba576e6d08abe54a46b513633d47b6cba1ba7 4.1.2 Randomly Generated "" = 304402204dc9c40b244cd8bfc1393c043a9e5a9069c9d6a065667215ca96fd3c78e3c37d02204f95a9540ce6c55ba0d3fbd6491522652265094d56aea5c454b2a5a60339621e "a" = 3045022100d6cd38c76f425d64efdd66273adafeb3d354e6f8708d6b4a10a7ce19ac8223c302200a589574a41ad5cc83b7cdcbd5080c2c42946ebd2ab063b573efd3f1dfdba037 "abc" = 3045022100cb6f0845e98c062c85a9f9d2737af1145f99819ff4efdee9b574ee957ffc4277022062d6487b1377a5081915868322ac46f168dd7d1d6fcc7a5e44a1628ee8b29a81 "abcdefghijklmnopqrstuvwxyz0123456789" = 30440220362b07c8748cf6a8caf60b4787e3d3bfbe559611517cf169dca8e3d99175a00902204590eaca14118315154c6d8b2d2bc0c0dc8ff820655ccd6018f742c85a4c17f7 4.2 Server Key Signed Using ID "TLSv1.3+GM+Cipher+Suite" 4.2.1 Known Answer k = 21997a1f69236c39a0e4f3f6fee8413a5c50122c9fec5dc19b0f7d4f611a20d6 "" = 304402203d39676f9edbebc4aa32166506b5ec124d350f748978e0cb7f35b93e64433145022024d7a3469c666c02597042a835d6be7d0358c6c3980e2ee23d3316e4f0674152 k = d93896af53af4c8231420b7d136264c80f13e14a9f46ac26150dfd2a064868c0 "a" = 3046022100b8525010508057a6cddad60d916cd7166c08066ab86aa32494a20b2c949e3a09022100bcc87bd34fe707eee857403cdf9487207ed49de94485b491409884ab8e9ab6d2 k = 17125748e5c7a2e2ebffda77d9985e9186d5c9eb9640a747e95e1feecf27be4e "abc" = 3044021f37b3b5ad5b694283618b654b423968aea9696773dc996d18fddf04573a5b6602210093031d8fa1b42b9c819a4f3e45b8e6e7262a4d839a8deac3f1db6ebd640bf5fa k = cd622f21d6d9732c83fd1f2c7047f85486a4268a349827a43d0189e08cc9af2a "abcdefghijklmnopqrstuvwxyz0123456789" = 304502202a77402ba35eb127c999babb11b13cadd64162b4aba191cfdc1ef0ef72b2cfa0022100a808488a930eae058dd8f559da2ff4da93507c27039272ca985892dc2dc7f1d5 4.2.2 Randomly Generated "" = 304502205cbe74f7a49961928ca79fe4247c8e5fa90474ef92d75f2a99171c13d536de46022100d038534e950a0fb75c2c6dfdb83cb6e76c781b88e4023cbc92676e623c919379 "a" = 3045022100d82f2515d8c4798973331c1003cc9dedb20c6126a19cbf7e5818e580402280e202206f724cfa96ce435385b994e4015fb61bbe5de713aa0d860de208eccea6f9f5e2 "abc" = 30450220308895523a801bde306cf978059a193d082be96cd952d2e662e68f0cdb3604cf022100c53e67e9e16499f08d171487942b10e7d290a21996454b866df9523c0e83ab7a "abcdefghijklmnopqrstuvwxyz0123456789" = 3046022100872e319f608be656770c60525e15e04ac21ff80b769a18508d2f6e9703be57790221009d6dfc78bcfc30c945efa794202add11275f91e4e926187e84c723a9cb24f2da 5.0 SM4 5.1 CBC mode, PKCS7 padding key = 000102030405060708090a0b0c0d0e0f iv = d04e6147fa461f36e9ae5b24ed18ba66 pt = 61 ct = b6a282b143fa36c9724fcb0dc947e326 key = f0e0d0c0b0a090807060504030201000 iv = 55346c24a3baa96442eb4c0899248ecd pt = 616263 ct = 8647bb5316db311ecc2510b8678df98b key = 0f0e0d0c0b0a09080706050403020100 iv = 4cf023bed7ccf2ded0923e6cdac13ea6 pt = 6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839 ct = 36a1856acebd577d9d23fc9cde8cd99d6f516a1da9db50eafaba50a5894547f1a1b8052ee1385631782139de14988140