public void ExtraSign_Should_AddValidSignature() { //STC-8 var rawSignedModel = faker.PredefinedRawSignedModel(null, true, false, false); var crypto = new VirgilCrypto(); var signer = new ModelSigner(new VirgilCardCrypto()); Assert.AreEqual(rawSignedModel.Signatures.Count, 1); var keyPair = crypto.GenerateKeys(); var signParams = new SignParams() { Signer = "test_id", SignerPrivateKey = keyPair.PrivateKey }; signer.Sign(rawSignedModel, signParams ); Assert.AreEqual(rawSignedModel.Signatures.Count, 2); var extraSignature = rawSignedModel.Signatures.Last(); Assert.AreEqual(extraSignature.Signer, signParams.Signer); Assert.AreEqual(extraSignature.Snapshot, null); Assert.True(crypto.VerifySignature( extraSignature.Signature, rawSignedModel.ContentSnapshot, keyPair.PublicKey)); }
/// <summary> /// 作废合同 /// </summary> public void abolish() { try { SignParams signParams = new SignParams(); signParams.height = 50.0; signParams.width = 50.0; signParams.page_number = 2; signParams.horizontal = 120; signParams.vertical = 20; ContractAbolishResponse response = client.Contract.abolish(new ContractAbolishRequest("0006690e31224ac3a29a0f921cca1756", "00735875524752723968", signParams)); Console.WriteLine("作废合同-响应数据:" + JSONUtil.getJsonStringFromObject(response)); } catch (SignApplicationException sae) { // 捕获网关校验数据 Console.WriteLine("作废合同-网关异常状态码为:" + sae.return_code); Console.WriteLine("作废合同-网关异常信息为:" + sae.return_message); } catch (SignServerException sse) { // 捕获网关校验数据 Console.WriteLine("作废合同-业务异常状态码为:" + sse.result_code); Console.WriteLine("作废合同-业务异常信息为:" + sse.result_message); } }
/// <summary> /// 单次模板签章 /// </summary> public void signTemplateSingle() { SignTemplateSingleRequest signTemplateSingleRequest = new SignTemplateSingleRequest(); signTemplateSingleRequest.template_id = "983e7c49532738a14e1d1aeb02d65775"; SignField signField = new SignField(); SignParams param = new SignParams(); param.height = 50; param.width = 50; param.user_id = "00765245060136194048"; param.seal_id = "babeef37549d22cbb50ce5436cdb3037"; param.sign_key = "sign"; signField.addSignParams(param); TextParams textParam = new TextParams(); textParam.key = "name"; textParam.value = "单测试"; signField.addTextParams(textParam); signTemplateSingleRequest.sign_field = signField; try { SignTemplateSingleResponse response = client.SignOperate.signTemplateSingle(signTemplateSingleRequest); Console.WriteLine("单次模板签章-响应数据:" + JSONUtil.getJsonStringFromObject(response)); } catch (SignApplicationException sae) { // 捕获网关校验数据 Console.WriteLine("单次模板签章-网关异常状态码为:" + sae.return_code); Console.WriteLine("单次模板签章-网关异常信息为:" + sae.return_message); } catch (SignServerException sse) { // 捕获网关校验数据 Console.WriteLine("单次模板签章-业务异常状态码为:" + sse.result_code); Console.WriteLine("单次模板签章-业务异常信息为:" + sse.result_message); } }
public ContractAbolishRequest(string sign_id,string user_id,SignParams field) { this.sign_id = sign_id; this.user_id = user_id; this.field = field; }