1e41f4b71Sopenharmony_ci# Signing and Signature Verification Overview and Algorithm Specifications
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ciTo ensure data integrity and non-repudiation, you can use the generated or imported key to perform signing and signature verification.
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci## Supported Algorithms
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ciThe following table lists the supported specifications for signing and signature verification.
10e41f4b71Sopenharmony_ci<!--Del-->
11e41f4b71Sopenharmony_ciThe key management service specifications include mandatory specifications and optional specifications. Mandatory specifications are algorithm specifications that must be supported. Optional specifications can be used based on actual situation. Before using the optional specifications, refer to the documents provided by the vendor to ensure that the specifications are supported.
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**You are advised to use mandatory specifications in your development for compatibility purposes.**
14e41f4b71Sopenharmony_ci<!--DelEnd-->
15e41f4b71Sopenharmony_ci**Specifications for Standard-System Devices**
16e41f4b71Sopenharmony_ci| Algorithm/MD Algorithm/Padding Mode| Description| API Version| <!--DelCol4-->Mandatory|
17e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
18e41f4b71Sopenharmony_ci| <!--DelRow-->RSA/MD5/PKCS1_V1_5<br>RSA/SHA1/PKCS1_V1_5<br>RSA/SHA224/PKCS1_V1_5<br>RSA/SHA224/PSS | In PSS mode, the salt length can be set to the digest length or maximum length (Maximum length = Key length - Digest length - 2). For details, see [HuksRsaPssSaltLenType](../../reference/apis-universal-keystore-kit/js-apis-huks.md#huksrsapsssaltlentype10).| 8+ | No|
19e41f4b71Sopenharmony_ci| RSA/SHA256/PKCS1_V1_5<br>RSA/SHA384/PKCS1_V1_5<br>RSA/SHA512/PKCS1_V1_5<br>RSA/SHA256/PSS<br>RSA/SHA384/PSS<br>RSA/SHA512/PSS | In PSS mode, the salt length can be set to the digest length or maximum length (Maximum length = Key length - Digest length - 2). For details, see [HuksRsaPssSaltLenType](../../reference/apis-universal-keystore-kit/js-apis-huks.md#huksrsapsssaltlentype10).| 8+ | Yes|
20e41f4b71Sopenharmony_ci| RSA/NoDigest/PKCS1_V1_5 | **TAG HuksKeyDigest.HUKS_DIGEST_NONE** must be specified with **NoDigest**.| 9+ | Yes|
21e41f4b71Sopenharmony_ci| <!--DelRow-->DSA/SHA1<br>DSA/SHA224<br>DSA/SHA256<br>DSA/SHA384<br>DSA/SHA512 | - | 8+ | No|
22e41f4b71Sopenharmony_ci| <!--DelRow-->DSA/NoDigest | **TAG HuksKeyDigest.HUKS_DIGEST_NONE** must be specified with **NoDigest**.| 9+ | No|
23e41f4b71Sopenharmony_ci| <!--DelRow-->ECC/SHA1<br>ECC/SHA224 | - | 8+ | No|
24e41f4b71Sopenharmony_ci| ECC/SHA256<br>ECC/SHA384<br>ECC/SHA512 | - | 8+ | Yes|
25e41f4b71Sopenharmony_ci| <!--DelRow-->ECC/NoDigest | **TAG HuksKeyDigest.HUKS_DIGEST_NONE** must be specified with **NoDigest**.| 9+ | No|
26e41f4b71Sopenharmony_ci| ED25519/NoDigest | **TAG HuksKeyDigest.HUKS_DIGEST_NONE** must be specified with **NoDigest**.| 8+ | Yes|
27e41f4b71Sopenharmony_ci| SM2/SM3 | - | 9+ | Yes|
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci**Specifications for Mini-System Devices**
30e41f4b71Sopenharmony_ci
31e41f4b71Sopenharmony_ci<!--Del-->
32e41f4b71Sopenharmony_ciBefore implementing the specifications for mini-system devices, determine whether your device supports the related specifications.
33e41f4b71Sopenharmony_ci<!--DelEnd-->
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci| Algorithm/MD Algorithm/Padding Mode| Description| API Version|
36e41f4b71Sopenharmony_ci| -------- | -------- | -------- |
37e41f4b71Sopenharmony_ci| RSA/SHA1/PKCS1_V1_5<br>RSA/SHA256/PKCS1_V1_5 | - | 12+ |
38e41f4b71Sopenharmony_ci| RSA/SHA1/PSS<br>RSA/SHA256/PSS | - | 12+ |
39e41f4b71Sopenharmony_ci| RSA/SHA1/ISO_IEC_9796_2<br>RSA/SHA256/ISO_IEC_9796_2 | - | 12+ |
40