Based on BouncyCastle analysis of the national secret SM2 certificate test program source code