自测通过

This commit is contained in:
cheney 2026-05-14 17:29:26 +08:00
parent 75150831c3
commit 655c9ea558
2 changed files with 3 additions and 5 deletions

View File

@ -331,7 +331,7 @@ public class Main {
SM3Util.writeFile(MAC_PUBLIC_KEY_OUTPUT_FILE, publicKeyPEM); SM3Util.writeFile(MAC_PUBLIC_KEY_OUTPUT_FILE, publicKeyPEM);
System.out.println("MAC公钥文件已保存: " + MAC_PUBLIC_KEY_OUTPUT_FILE); System.out.println("MAC公钥文件已保存: " + MAC_PUBLIC_KEY_OUTPUT_FILE);
String publicKeySm3 = SM3Util.sm3DigestHex(publicKeyPEM.getBytes(StandardCharsets.UTF_8)); String publicKeySm3 = SM3Util.sm3DigestHex(macPublicKey.getEncoded());
SM3Util.writeFile(MAC_PUBLIC_KEY_SM3_FILE, publicKeySm3); SM3Util.writeFile(MAC_PUBLIC_KEY_SM3_FILE, publicKeySm3);
System.out.println("MAC公钥SM3校验值已保存: " + MAC_PUBLIC_KEY_SM3_FILE + " (" + publicKeySm3 + ")"); System.out.println("MAC公钥SM3校验值已保存: " + MAC_PUBLIC_KEY_SM3_FILE + " (" + publicKeySm3 + ")");
@ -342,15 +342,13 @@ public class Main {
private static void verifyRootCertMAC() throws Exception { private static void verifyRootCertMAC() throws Exception {
System.out.println("=== 验证根证书MAC签名 ==="); System.out.println("=== 验证根证书MAC签名 ===");
String savedPublicKeyPEM = SM3Util.readFile(MAC_PUBLIC_KEY_OUTPUT_FILE).trim();
String savedPublicKeySm3 = SM3Util.readFile(MAC_PUBLIC_KEY_SM3_FILE).trim(); String savedPublicKeySm3 = SM3Util.readFile(MAC_PUBLIC_KEY_SM3_FILE).trim();
String currentPublicKeySm3 = SM3Util.sm3DigestHex(savedPublicKeyPEM.getBytes(StandardCharsets.UTF_8)); PublicKey publicKey = SM2Util.loadPublicKey(MAC_PUBLIC_KEY_PATH);
String currentPublicKeySm3 = SM3Util.sm3DigestHex(publicKey.getEncoded());
boolean publicKeyValid = savedPublicKeySm3.equals(currentPublicKeySm3); boolean publicKeyValid = savedPublicKeySm3.equals(currentPublicKeySm3);
System.out.println("公钥校验值验证: " + publicKeyValid); System.out.println("公钥校验值验证: " + publicKeyValid);
PublicKey publicKey = SM2Util.loadPublicKey(MAC_PUBLIC_KEY_PATH);
InputStream certInputStream = Main.class.getResourceAsStream(ROOT_CERT_FILE); InputStream certInputStream = Main.class.getResourceAsStream(ROOT_CERT_FILE);
if (certInputStream == null) { if (certInputStream == null) {
throw new IllegalArgumentException("根证书文件未找到: " + ROOT_CERT_FILE); throw new IllegalArgumentException("根证书文件未找到: " + ROOT_CERT_FILE);