### Question:
SESeal extends ASN1Object { public static SESeal getInstance(Object o) { if (o instanceof SESeal) { return (SESeal) o; } else if (o != null) { return new SESeal(ASN1Sequence.getInstance(o)); } return null; } SESeal();  SESeal(SES_SealInfo eSealInfo,
                  ASN1OctetString cert,
                  ASN1ObjectIdentifier signAlgID,
                  ASN1BitString signedValue);  SESeal(ASN1Sequence seq); static SESeal getInstance(Object o); SES_SealInfo geteSealInfo(); SESeal seteSealInfo(SES_SealInfo eSealInfo); ASN1OctetString getCert(); SESeal setCert(ASN1OctetString cert); SESeal setCert(Certificate cert); ASN1ObjectIdentifier getSignAlgID(); SESeal setSignAlgID(ASN1ObjectIdentifier signAlgID); ASN1BitString getSignedValue(); SESeal setSignedValue(ASN1BitString signedValue); SESeal setSignedValue(byte[] signedValue); @Override ASN1Primitive toASN1Primitive();  }### Answer:
@Test void signVerify() throws GeneralSecurityException, IOException { Path sealerPath = Paths.get("src/test/resources", "SealBuilder.p12"); PrivateKey sealerPrvKey = PKCS12Tools.ReadPrvKey(sealerPath, "private", "777777"); Signature sg = Signature.getInstance("SM3WithSM2", new BouncyCastleProvider()); sg.initSign(sealerPrvKey); sg.update(new byte[32]); byte[] sigVal = sg.sign(); System.out.println(sigVal.length); Certificate certificate = PKCS12Tools.ReadUserCert(sealerPath, "private", "777777"); sg = Signature.getInstance("SM3WithSM2", new BouncyCastleProvider()); sg.initVerify(certificate); sg.update(new byte[32]); System.out.println(sg.verify(sigVal)); }