/// <summary>5.3.7 PKCS#1签名验证 /// /// </summary> /// <param name="sSource"></param> /// <param name="bSignData"></param> /// <param name="sX509Certificate"></param> /// <returns></returns> public static Boolean verifyPKCS1(String sSource, String bSignData, String sX509Certificate) { SecuInter.X509Certificate oCert = new SecuInter.X509Certificate(); oCert.Decode(sX509Certificate); Boolean isOK = false; if (oCert == null) { throw new Exception("未选择证书!"); } SecuInter.signature oSignature = new SecuInter.signature(); SecuInter.Utilities oUtil = new SecuInter.Utilities(); oSignature.Certificate = oCert; oSignature.Algorithm = SECUINTER_SIGNATURE_ALGORITHM.SECUINTER_SHA1WithRSA_ALGORITHM; byte[] bContent = Encoding.Default.GetBytes(sSource); if (oSignature.Verify(bContent, oUtil.Base64Decode(bSignData))) { isOK = true; } else { throw new Exception("验证不通过!"); } oSignature = null; oUtil = null; return(isOK); }
/// <summary>5.3.6 PKCS1签名 2011-12-19 /// /// </summary> /// <param name="sSource"></param> /// <param name="oCert"></param> /// <returns></returns> public static String signPKCS1ByCert(String sSource, SecuInter.X509Certificate oCert) { SecuInter.signature oSignature = new SecuInter.signature(); SecuInter.Utilities oUtil = new SecuInter.Utilities(); oSignature.Certificate = oCert; oSignature.Algorithm = SECUINTER_SIGNATURE_ALGORITHM.SECUINTER_SHA1WithRSA_ALGORITHM; object arrRT = oSignature.Sign(sSource); String rt = oUtil.Base64Encode(arrRT); oSignature = null; oUtil = null; return(rt); }