diff --git a/dist/hap-sign-tool.jar b/dist/hap-sign-tool.jar index e8988a35e8a4088e2050f3989999f89f97c7161b..bd6d5935cb60e640724e7782c698d29f8a3609b6 100644 Binary files a/dist/hap-sign-tool.jar and b/dist/hap-sign-tool.jar differ diff --git a/hapsigntool/hap_sign_tool_lib/src/main/java/com/ohos/hapsigntool/hap/provider/SignProvider.java b/hapsigntool/hap_sign_tool_lib/src/main/java/com/ohos/hapsigntool/hap/provider/SignProvider.java index 15bc18a3775057d4cad14ac622310d4bdf91c2ff..250dcfac66e2cff2bd79fef39226d5333b6bbb3b 100644 --- a/hapsigntool/hap_sign_tool_lib/src/main/java/com/ohos/hapsigntool/hap/provider/SignProvider.java +++ b/hapsigntool/hap_sign_tool_lib/src/main/java/com/ohos/hapsigntool/hap/provider/SignProvider.java @@ -28,6 +28,7 @@ import com.ohos.hapsigntool.hap.exception.MissingParamsException; import com.ohos.hapsigntool.hap.exception.ProfileException; import com.ohos.hapsigntool.hap.exception.SignatureException; import com.ohos.hapsigntool.hap.exception.VerifyCertificateChainException; +import com.ohos.hapsigntool.hap.exception.HapFormatException; import com.ohos.hapsigntool.hap.sign.SignBin; import com.ohos.hapsigntool.hap.sign.SignHap; import com.ohos.hapsigntool.hap.sign.SignatureAlgorithm; @@ -233,7 +234,7 @@ public abstract class SignProvider { signerConfig = createSignerConfigs(publicCert, crl, options); } catch (InvalidKeyException | InvalidParamsException | MissingParamsException | ProfileException e) { LOGGER.error("create signer configs failed.", e); - printErrorLog(e); + printErrorLogWithoutStack(e); return false; } @@ -307,8 +308,11 @@ public abstract class SignProvider { outputSignedFile(outputHap, centralDirectoryOffset, signingBlock, centralDirectory, eocdBuffer); ret = true; } - } catch (IOException | InvalidKeyException | SignatureException | MissingParamsException + } catch (IOException | InvalidKeyException | HapFormatException | MissingParamsException | InvalidParamsException | ProfileException | CustomException e) { + printErrorLogWithoutStack(e); + ret = false; + } catch (SignatureException e) { printErrorLog(e); ret = false; } @@ -350,6 +354,12 @@ public abstract class SignProvider { } } + private void printErrorLogWithoutStack(Exception e) { + if (e != null) { + LOGGER.error("hap-sign-tool: error: {}", e.getMessage()); + } + } + private void copyFileAndAlignment(File input, File tmpOutput, int alignment) throws IOException { try (JarFile inputJar = new JarFile(input, false); FileOutputStream outputFile = new FileOutputStream(tmpOutput); diff --git a/tools/app1_error.pem b/tools/app1_error.pem new file mode 100644 index 0000000000000000000000000000000000000000..bd48ba18d1a4c1305db32fd839d675e03a7541ab --- /dev/null +++ b/tools/app1_error.pem @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIICIzCCAcmgAwIBAgIFANCHXfAwCgYIKoZIzj0EAwIwazELMAkGA1UEBhMCQ04x +FDASBgNVBAoMC09wZW5IYXJtb255MRswGQYDVQQLDBJPcGVuSGFueSBDb21tdW5p +dHkxKTAnBgNVBAMMIEFwcGxpY2F0aW9uIFNpZ25hdHVyZSBTZXJ2aWNlIENBMB4X +DTIyMDMxNDE0MTk0NloXDTIzMDMxNDE0MTk0NlowWjELMAkGA1UEBhMCQ04xFDAS +BgNVBAoMC09wZW5IYXJtb255MR4wHAYDVQQLDBVPcGVuSGFybW9ueSBDb21tdW5p +dHkxFTATBgNVBAMMDEFwcDEgUmVsZWFzZTBZMBMGByqGSM49AgEGCCqGSM49AwEH +A0IABL4UQDwzO32eQqxXGWIk7lhay1kuxcfs+D+TmW48R6DzWbEi7FtYe/wl6S/D +Tn9BWgJzZLtu2r7AX18O6fsiWQGjazBpMB0GA1UdDgQWBBRDFVkyLoaoK6dSE1xl +OEA/7VQPmzAJBgNVHRMEAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggr +BgEFBQcDAzAYBgwrBgEEAY9bAoJ4AQMECDAGAgEBCgEAMAoGCCqGSM49BAMCA0gA +MEUCIQDeqEobRUbto35KaOTwU2uUcW3Bce08tBLOjjwY5kh+FAIgYteMghCEcytH +U4nhtS43OSs1rselZazoV+xvzcANWJY= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICHDCCAcKgAwIBAgIFAM1hgkMwCgYIKoZIzj0EAwIwVTELMAkGA1UEBhMCQ04x +FDASBgNVBAoMC09wZW5IYXJtb255MR4wHAYDVQQLDBVPcGVuSGFybW9ueSBDb21t +dW5pdHkxEDAOBgNVBAMMB1Jvb3QgQ0EwHhcNMjIwMzA0MDI0NjUxWhcNMjMwMzA0 +MDI0NjUxWjBuMQswCQYDVQQGEwJDTjEUMBIGA1UECgwLT3Blbkhhcm1vbnkxHjAc +BgNVBAsMFU9wZW5IYXJtb255IENvbW11bml0eTEpMCcGA1UEAwwgQXBwbGljYXRp +b24gU2lnbmF0dXJlIFNlcnZpY2UgQ0EwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC +AAQrUbzV/Qa2LjwtTzp1MUpXwN73BNQRluZLCahN9e6IWLNsCifvTNuD+aDhZiA0 +AZ5SpWoY7J1GjwOMmLP7MGEeo2YwZDAdBgNVHQ4EFgQUkWt6dNOoPEKVXkGNtC5Z +hyWkGdMwHwYDVR0jBBgwFoAUcsPzleL32qFRbaDiIHxr3U7dMo8wEgYDVR0TAQH/ +BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwIDSAAwRQIhAPHT +mL3jEbeAf1Uo7j0h5kdfwF/wSCoTKyDfljvawkghAiAeidOkKzA+GjSapKkW27Xx +piaCQxb8O7hL6BGL8M4SZw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB4zCCAYigAwIBAgIFANfEzkQwCgYIKoZIzj0EAwIwVTELMAkGA1UEBhMCQ04x +FDASBgNVBAoMC09wZW5IYXJtb255MR4wHAYDVQQLDBVPcGVuSGFybW9ueSBDb21t +dW5pdHkxEDAOBgNVBAMMB1Jvb3QgQ0EwHhcNMjIwMzE0MTEyNDE3WhcNMjMwMzE0 +MTEyNDE3WjBVMQswCQYDVQQGEwJDTjEUMBIGA1UECgwLT3Blbkhhcm1vbnkxHjAc +BgNVBAsMFU9wZW5IYXJtb255IENvbW11bml0eTEQMA4GA1UEAwwHUm9vdCBDQTBZ +MBMGByqGSM49AgEGCCqGSM49AwEHA0IABC4iQxtpXFHP7mGHnIrg5vURWiZkQ2VK +KlXajpkVVoqEF00MHA6LbDa77JTVcX3Vaf6Y84mExOo6qxqJi5vK6kKjRTBDMB0G +A1UdDgQWBBQ2pSZI3AJRpbfSp4bZ1MQa66PURjASBgNVHRMBAf8ECDAGAQH/AgEC +MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEAwmeQo41ZvqLXulIC +Ium4s53uUQcmAHIQYiGKt+H6jqcCIQDlxf4/Q1CPNL5uDg/AvXDYWxNJ7degNUW3 +QaTusgvmfw== +-----END CERTIFICATE----- diff --git a/tools/commands.config b/tools/commands.config index 1a207206617c9e75934da5ad8c9e26f385b66b05..ef6b2f6720418d2c0a3d7e74fc00fa6ce1864cad 100644 --- a/tools/commands.config +++ b/tools/commands.config @@ -373,6 +373,10 @@ 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest_pass.jks" -outFile "app1-signed.hap" -keyPwd "123456" -keystorePwd "123456789"', 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest_pass.jks" -outFile "app1-signed.hap" -keyPwd "123456"', 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest_pass.jks" -keyPwd "123456" -keystorePwd "123456"', - 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest_pass.jks" -outFile -keyPwd "123456" -keystorePwd "123456"' + 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest_pass.jks" -outFile -keyPwd "123456" -keystorePwd "123456"', + 'sign-profile -keyAlias "oh-profile1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -profileCertFile "profile1_error.pem" -inFile "app1-profile-release.json" -keystoreFile "ohtest_pass.jks" -outFile "app1-profile.p7b" -keyPwd "123456" -keystorePwd "123456"', + 'sign-profile -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -profileCertFile "profile1.pem" -inFile "app1-profile-release.json" -keystoreFile "ohtest.jks" -outFile "app1-profile.p7b" -keyPwd "123456" -keystorePwd "123456"', + 'sign-app -keyAlias "oh-app1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1_error.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest.jks" -outFile "app1-signed.hap" -keyPwd "123456" -keystorePwd "123456"', + 'sign-app -keyAlias "oh-profile1-key-v1" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "app1.pem" -profileFile "app1-profile.p7b" -inFile "app1-unsigned.hap" -keystoreFile "ohtest.jks" -outFile "app1-signed.hap" -keyPwd "123456" -keystorePwd "123456"' ] } \ No newline at end of file diff --git a/tools/profile1_error.pem b/tools/profile1_error.pem new file mode 100644 index 0000000000000000000000000000000000000000..454cadbe029635b28dff1dae649db28d4bf49684 --- /dev/null +++ b/tools/profile1_error.pem @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIICITCCAcigAwIBAgIFAOieGF8wCgYIKoZIzj0EAwIwZjELMAkGA1UEBhMCQ04x +FDASBgNVBAoMC09wZW5IYXJtb255MR4wHAYDVQQLDBVPcGVuSGFybW9ueSBDb21t +dW5pdHkxITAfBgNVBAMMGFByb2ZpbGUgU2lncmUgU2VydmljZSBDQTAeFw0yMjAz +MTQxNDIxMzRaFw0yMzAzMTQxNDIxMzRaMF4xHjAcBgNVBAsMFU9wZW5IYXJtb255 +IENvbW11bml0eTEZMBcGA1UEAwwQUHJvZmlsZTEgUmVsZWFzZTELMAkGA1UEBhMC +Q04xFDASBgNVBAoMC09wZW5IYXJtb255MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD +QgAEcXAGAyngxb59d8bSGSBejIfJDDj1fuKxZPeaw2jx9YAFSt4IX69vLUSyQYee +bWuh0/lZAXhmN1hxmbC4nWfqgqNrMGkwHQYDVR0OBBYEFDRE86TBk5IGgR6YYHKW +Mowywn+MMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsG +AQUFBwMDMBgGDCsGAQQBj1sCgngBAwQIMAYCAQEKAQEwCgYIKoZIzj0EAwIDRwAw +RAIgeBBE5GVn30kNznLBZg1SPZ6HpCSNYmA5gbnyPsdOEgkCIEFaJM8EBroj2X7X +DvHLJwRS52QHwds9pHeEtbocD0Bj +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICFzCCAb2gAwIBAgIEJpqoGzAKBggqhkjOPQQDAjBVMQswCQYDVQQGEwJDTjEU +MBIGA1UECgwLT3Blbkhhcm1vbnkxHjAcBgNVBAsMFU9wZW5IYXJtb255IENvbW11 +bml0eTEQMA4GA1UEAwwHUm9vdCBDQTAeFw0yMjAzMDQwMjQ2NTZaFw0yMzAzMDQw +MjQ2NTZaMGoxCzAJBgNVBAYTAkNOMRQwEgYDVQQKDAtPcGVuSGFybW9ueTEeMBwG +A1UECwwVT3Blbkhhcm1vbnkgQ29tbXVuaXR5MSUwIwYDVQQDDBxQcm9maWxlIFNp +Z25hdHVyZSBTZXJ2aWNlIENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECcJ7 +4jVBdAIIIf/TQh1wDKZTabyAK9cY77F4JQDxcMMndhsRax4DSmfKsED7Q1+at7SQ +A21nmNS1sfk1XsxZ5aNmMGQwHQYDVR0OBBYEFB3ALvLg3HOc0D8/TC1q71mqhWpH +MB8GA1UdIwQYMBaAFHLD85Xi99qhUW2g4iB8a91O3TKPMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gAMEUCIQDb8xmlZyOz +NDNZ1JcNrU2nKUkQ9jGsPHOohoebXBBGGAIgY03y72olz+GDnCl074+x/yDKAl0/ +uFfB+/MyNfdVoeA= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB4zCCAYigAwIBAgIFANfEzkQwCgYIKoZIzj0EAwIwVTELMAkGA1UEBhMCQ04x +FDASBgNVBAoMC09wZW5IYXJtb255MR4wHAYDVQQLDBVPcGVuSGFybW9ueSBDb21t +dW5pdHkxEDAOBgNVBAMMB1Jvb3QgQ0EwHhcNMjIwMzE0MTEyNDE3WhcNMjMwMzE0 +MTEyNDE3WjBVMQswCQYDVQQGEwJDTjEUMBIGA1UECgwLT3Blbkhhcm1vbnkxHjAc +BgNVBAsMFU9wZW5IYXJtb255IENvbW11bml0eTEQMA4GA1UEAwwHUm9vdCBDQTBZ +MBMGByqGSM49AgEGCCqGSM49AwEHA0IABC4iQxtpXFHP7mGHnIrg5vURWiZkQ2VK +KlXajpkVVoqEF00MHA6LbDa77JTVcX3Vaf6Y84mExOo6qxqJi5vK6kKjRTBDMB0G +A1UdDgQWBBQ2pSZI3AJRpbfSp4bZ1MQa66PURjASBgNVHRMBAf8ECDAGAQH/AgEC +MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAgNJADBGAiEAwmeQo41ZvqLXulIC +Ium4s53uUQcmAHIQYiGKt+H6jqcCIQDlxf4/Q1CPNL5uDg/AvXDYWxNJ7degNUW3 +QaTusgvmfw== +-----END CERTIFICATE-----