中国银行-网上支付接口.net语言开发.rar


中国银行-网上支付接口.net语言开发示例.rar
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.Pkcs;
using System.Security.Cryptography.X509Certificates;
using System.IO;

namespace P7Verify_CSharp
{
    class PKCS7Tool
    {
        public static byte[] DecodeFromFile(string inFileName)
        {
            Frombase64Transform myTransform = new Frombase64Transform(Frombase64TransformMode.IgnoreWhiteSpaces);

            byte[] myOutputBytes = new byte[myTransform.OutputBlockSize];

            //Open the input and output files.
            FileStream myInputFile = new FileStream(inFileName FileMode.Open FileAccess.Read);

            //Retrieve the file contents into a byte array.
            byte[] myInputBytes = new byte[myInputFile.Length];
            myInputFile.Read(myInputBytes 0 myInputBytes.Length);

            MemoryStream outputDataStream = new MemoryStream(myInputBytes.Length);

            //Transform the data in chunks the size of InputBlockSize.
            int i = 0;
            int inputBlockSize = 4;
            while (myInputBytes.Length - i > inputBlockSize)
            {
                int nOutput = myTransform.TransformBlock(myInputBytes i inputBlockSize myOutputBytes 0);
                i += inputBlockSize;
                if (nOutput > 0)
                {
                    outputDataStream.Write(myOutputBytes 0 nOutput);
                }
            }

            //Transform the final block of data.
            myOutputBytes = myTransform.TransformFinalBlock(myInputBytes i myInputBytes.Length - i);
            outputDataStream.Write(myOutputBytes 0 myOutputBytes.Length);

            //Free up any used resources.
            myTransform.Clear();

            myInputFile.Close();
            outputDataStream.Position = 0;
            byte[] outputData = new byte[outputDataStream.Length];
            outputDataStream.Read(outputData 0 (int)outputDataStream.Length);
            outputDataStream.Close();

            return outputData;
        }

        public static Boolean Verify(byte[] sig byte[] msgstring dn)
        {
            Boolean b = true;
            try
            {
                ContentInfo signedData = new ContentInfo(msg);
                SignedCms cms = new SignedCms(signedData true);
                cms.Decode(sig);
                //Check Signature
                cms.CheckSignature(true);
                //Check dn
                if (cms.Certificates.Count > 0 )
                {
                    X509Certificate2 cert = cms.Certificates[0];
                    if (!string.IsNullOrEmpty(dn) && !dn.Equals(cert.Subject))
                    {
                        b = false;
                    }
                }

                byte[] data = cms.Encode();
            }
            catch (Exception e)
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......       117  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpapp.config

    .......      2677  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpP7Verify_CSharp.csproj

    .......       330  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpP7Verify_CSharp.csproj.user

    .......       257  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpP7Verify_CSharp.csproj.vspscc

    .......      5763  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpPKCS7Tool.cs

    .......      3968  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpProgram.cs

    .......      1442  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpPropertiesAssemblyInfo.cs

    .......      1393  2012-05-15 11:08  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharp.sln

    .......       222  2012-05-15 11:08  网上支付接口.net语言开发示例
eadme.txt

    .......      1046  2012-05-15 11:08  网上支付接口.net语言开发示例证书以及测试文件BOC-CA.cer

    .......      1900  2012-05-15 11:08  网上支付接口.net语言开发示例证书以及测试文件demo.pfx

    .......      1308  2012-05-15 11:08  网上支付接口.net语言开发示例证书以及测试文件sign.txt

    .......      1276  2012-05-15 11:08  网上支付接口.net语言开发示例证书以及测试文件signDotNet.txt

    .......        34  2012-05-15 11:08  网上支付接口.net语言开发示例证书以及测试文件 ext.txt

     目录          0  2013-04-23 11:09  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharpProperties

     目录          0  2013-04-23 11:09  网上支付接口.net语言开发示例P7Verify_CSharpP7Verify_CSharp

     目录          0  2013-04-23 11:09  网上支付接口.net语言开发示例P7Verify_CSharp

     目录          0  2013-04-23 11:09  网上支付接口.net语言开发示例证书以及测试文件

     目录          0  2013-04-23 11:09  网上支付接口.net语言开发示例

    .......   1048064  2012-05-15 11:08  中行公钥证书(电子支付二级根证书)下载指引.ppt

     文件     565760  2011-12-17 17:04  B2C商户端接口说明(ver 2.3).doc

----------- ---------  ---------- -----  ----

              1635557                    21


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)