assinatura – COMO ASSINAR ELETRONICAMENTE DOCUMENTOS

bom dia , pessoal…
estou numa missao de implantar assinatura eletronica em documentos..
alguem aqui saberia me dar uma luz quanto a esse assunto?
agradeceria demais mesmo.. qualquer ajuda é bm vinda.

segue um exemplo em anexo de como seria assinatura..

inserir a descrição da imagem aqui

node.js – Assinatura digital em PDF com NodeJS – Certificado A1

Preciso fazer a assinatura digital com o certificado A1 do PDF usando Nodejs e não encontrei nada na internet para me auxiliar.

Alguém sabe de alguma forma como faço isso?

O PHP tem a biblioteca TCPDF que faz isso muito bem e gostaria de algo parecido.

c# – Problema com Assinatura de RPS e Lote (NFS-e)

Estou tentando realizar a assinatura do bloco de dados do método, GerarNfse.

É necessário assinar os RPS e o lote, mas ao enviar sempre recebo a mensagem de assinatura inválida.

Segue o código que estou utilizando:

public static void AssinarNFSe(XmlDocument doc, X509Certificate2 certificado)
    {
        XmlNodeList ListInfRps = doc.GetElementsByTagName("InfRps");
        int NodeCounter = 1;

        foreach (XmlElement InfRps in ListInfRps)
        {
            string idRPS = InfRps.Attributes.GetNamedItem("Id").Value;
            SignedXml signedXmlRps = new SignedXml(InfRps);

            signedXmlRps.SigningKey = certificado.PrivateKey;
            Reference referenceRps = new Reference("#" + idRPS);
            referenceRps.AddTransform(new XmlDsigEnvelopedSignatureTransform());
            referenceRps.AddTransform(new XmlDsigC14NTransform());
            signedXmlRps.AddReference(referenceRps);

            KeyInfo keyInfoRps = new KeyInfo();
            keyInfoRps.AddClause(new KeyInfoX509Data(certificado));
            signedXmlRps.KeyInfo = keyInfoRps;

            signedXmlRps.ComputeSignature();

            XmlElement xmlSignatureRps = doc.CreateElement("Signature", "http://www.w3.org/2000/09/xmldsig#");

            XmlAttribute attrRps = doc.CreateAttribute("Id");
            attrRps.Value = "Ass_" + idRPS;

            xmlSignatureRps.Attributes.SetNamedItem(attrRps);
            XmlElement xmlSignedInfoRps = signedXmlRps.SignedInfo.GetXml();
            XmlElement xmlKeyInfoRps = signedXmlRps.KeyInfo.GetXml();
            XmlElement xmlSignatureValueRps = doc.CreateElement("SignatureValue", xmlSignatureRps.NamespaceURI);
            string signBase64Rps = Convert.ToBase64String(signedXmlRps.Signature.SignatureValue);
            XmlText textRps = doc.CreateTextNode(signBase64Rps);
            xmlSignatureValueRps.AppendChild(textRps);

            xmlSignatureRps.AppendChild(doc.ImportNode(xmlSignedInfoRps, true));
            xmlSignatureRps.AppendChild(xmlSignatureValueRps);
            xmlSignatureRps.AppendChild(doc.ImportNode(xmlKeyInfoRps, true));

            XmlNodeList ListRps = doc.GetElementsByTagName("Rps");

            int RpsCounter = 1;

            foreach (XmlElement Rps in ListRps)
            {
                if (RpsCounter == NodeCounter)
                {
                    Rps.AppendChild(xmlSignatureRps);
                }
                RpsCounter++;
            }
            NodeCounter++;
        }


        XmlNodeList ListLoteRps = doc.GetElementsByTagName("LoteRps");

        foreach (XmlElement LoteRps in ListLoteRps)
        {
            string id = LoteRps.Attributes.GetNamedItem("Id").Value;
            SignedXml signedXml = new SignedXml(LoteRps);
            signedXml.SigningKey = certificado.PrivateKey;
            Reference reference = new Reference("#" + id);
            reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
            reference.AddTransform(new XmlDsigC14NTransform());
            signedXml.AddReference(reference);
            KeyInfo keyInfo = new KeyInfo();
            keyInfo.AddClause(new KeyInfoX509Data(certificado));
            signedXml.KeyInfo = keyInfo;
            signedXml.ComputeSignature();
            XmlElement xmlSignature = doc.CreateElement("Signature", "http://www.w3.org/2000/09/xmldsig#");
            XmlAttribute attr = doc.CreateAttribute("Id");
            attr.Value = "Ass_" + id;
            xmlSignature.Attributes.SetNamedItem(attr);
            XmlElement xmlSignedInfo = signedXml.SignedInfo.GetXml();
            XmlElement xmlKeyInfo = signedXml.KeyInfo.GetXml();
            XmlElement xmlSignatureValue = doc.CreateElement("SignatureValue", xmlSignature.NamespaceURI);
            string signBase64 = Convert.ToBase64String(signedXml.Signature.SignatureValue);
            XmlText text = doc.CreateTextNode(signBase64);
            xmlSignatureValue.AppendChild(text);
            xmlSignature.AppendChild(doc.ImportNode(xmlSignedInfo, true));

            xmlSignature.AppendChild(xmlSignatureValue);

            xmlSignature.AppendChild(doc.ImportNode(xmlKeyInfo, true));

            XmlNodeList ListEnviarLoteRpsEnvio = doc.GetElementsByTagName("GerarNfseEnvio");

            foreach (XmlElement EnviarLoteRpsEnvio in ListEnviarLoteRpsEnvio)
            {
                EnviarLoteRpsEnvio.AppendChild(xmlSignature);
            }

        }
    }

Certisign – API Portal de Assinatura – Como indicar quais pessoas devem receber o documento final assinado?

Estou desenvolvendo uma integração com o portal de assinaturadas da Certisign e preciso indicar quais são as pessoas que devem receber o documento apos a assinatura.

Este é o json modelo fornecido pela empresa mas não encontrei documentação a respeito

{
  "accountId": 0,
  "folderId": 0,
  "signatureManifestId": 0,
  "signatureRepresentationId": 0,
  "groupsViewersIds": [
    0
  ],
  "callback": true,
  "commitmentTypeEnabled": true,
  "validity": "string",
  "sender": {
    "id": 0,
    "uid": "string",
    "name": "string",
    "email": "string",
    "pjId": 0,
    "individualIdentificationCode": "string",
    "region": {},
    "bloqueado": true,
    "excluido": true,
    "uPhone": "string",
    "uAccessCode": "string",
    "maskedCode": "string",
    "nameCompany": "string",
    "companyIdentificationCode": "string"
  },
  "tags": [
    "string"
  ],
  "registeredEmail": {
    "subject": "string",
    "text": "string",
    "image": {
      "associatedAttachmentId": 0,
      "fileName": "string",
      "description": "string",
      "upload": {
        "id": "string",
        "name": "string"
      },
      "private": true,
      "bytes": "string",
      "contentB64": "string",
      "order": 0,
      "companiesIds": [
        0
      ]
    },
    "end": true,
    "notified": [
      "string"
    ],
    "name": "string",
    "phone": "string",
    "email": "string",
    "signatureImagem": {
      "associatedAttachmentId": 0,
      "fileName": "string",
      "description": "string",
      "upload": {
        "id": "string",
        "name": "string"
      },
      "private": true,
      "bytes": "string",
      "contentB64": "string",
      "order": 0,
      "companiesIds": [
        0
      ]
    },
    "recipients": [
      "string"
    ]
  },
  "signatureStandard": {},
  "signaturePolicyId": 0,
  "nameStandardFlow": "string",
  "signers": [
    {
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "pjId": 0,
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string",
      "step": 0,
      "title": "string",
      "commitmentType": {},
      "saveContact": true,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "registeredEmail": true,
      "subject": "string",
      "text": "string",
      "deadline": {
        "signatureDeadlineInWorkdays": "string",
        "signatureDeadlineDate": "string",
        "time": "string",
        "timeType": {},
        "timezoneId": "string"
      },
      "blockDocumentAfterLimit": true,
      "notificationLanguage": {},
      "canCollectInPersonSignature": true
    }
  ],
  "serverSigners": [
    {
      "certificateId": 0,
      "step": 0,
      "companyId": 0,
      "signerId": 0,
      "name": "string",
      "commitmentType": {}
    }
  ],
  "electronicSigners": [
    {
      "step": 0,
      "pjId": 0,
      "title": "string",
      "commitmentType": {},
      "saveContact": true,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "registeredEmail": true,
      "subject": "string",
      "text": "string",
      "deadline": {
        "signatureDeadlineInWorkdays": "string",
        "signatureDeadlineDate": "string",
        "time": "string",
        "timeType": {},
        "timezoneId": "string"
      },
      "blockDocumentAfterLimit": true,
      "notificationLanguage": {},
      "canCollectInPersonSignature": true,
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string",
      "inPerson": true,
      "accessCode": "string",
      "cellphone": "string",
      "identificationType": {
        "faceCheckType": {},
        "faceCheck": {},
        "accessCode": true,
        "sms": true,
        "externEmail": true
      },
      "signaturePositions": [
        {
          "x": 0.0,
          "y": 0.0,
          "page": 0,
          "unit": 0
        }
      ]
    }
  ],
  "parameters": [
    {
      "signatureDeadlineInWorkdays": "string",
      "signatureDeadlineDate": "string",
      "time": "string",
      "timeType": {},
      "timezoneId": "string",
      "type": 1,
      "step": 0,
      "role": 0,
      "signaturePosition": 0,
      "title": "string",
      "companyId": 0,
      "isGlobalObserver": true,
      "rule": "string",
      "group": "string",
      "canCollectInPersonSignature": true
    }
  ],
  "observers": [
    {
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "pjId": 0,
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string",
      "step": 0,
      "title": "string",
      "commitmentType": {},
      "saveContact": true,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "registeredEmail": true,
      "subject": "string",
      "text": "string",
      "deadline": {
        "signatureDeadlineInWorkdays": "string",
        "signatureDeadlineDate": "string",
        "time": "string",
        "timeType": {},
        "timezoneId": "string"
      },
      "blockDocumentAfterLimit": true,
      "notificationLanguage": {},
      "canCollectInPersonSignature": true
    }
  ],
  "finishers": [
    {
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "pjId": 0,
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string",
      "step": 0,
      "title": "string",
      "commitmentType": {},
      "saveContact": true,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "registeredEmail": true,
      "subject": "string",
      "text": "string",
      "deadline": {
        "signatureDeadlineInWorkdays": "string",
        "signatureDeadlineDate": "string",
        "time": "string",
        "timeType": {},
        "timezoneId": "string"
      },
      "blockDocumentAfterLimit": true,
      "notificationLanguage": {},
      "canCollectInPersonSignature": true
    }
  ],
  "approvers": [
    {
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "pjId": 0,
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string",
      "step": 0,
      "title": "string",
      "commitmentType": {},
      "saveContact": true,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "registeredEmail": true,
      "subject": "string",
      "text": "string",
      "deadline": {
        "signatureDeadlineInWorkdays": "string",
        "signatureDeadlineDate": "string",
        "time": "string",
        "timeType": {},
        "timezoneId": "string"
      },
      "blockDocumentAfterLimit": true,
      "notificationLanguage": {},
      "canCollectInPersonSignature": true
    }
  ],
  "representatives": [
    {
      "signatureDeadlineInWorkdays": "string",
      "signatureDeadlineDate": "string",
      "time": "string",
      "timeType": {},
      "timezoneId": "string",
      "id": 0,
      "name": "string",
      "companyId": 0,
      "title": "string",
      "commitmentType": {},
      "role": 1,
      "step": 0,
      "exclusiveObserver": [
        {
          "id": 0,
          "uid": "string",
          "name": "string",
          "email": "string",
          "pjId": 0,
          "individualIdentificationCode": "string",
          "region": {},
          "bloqueado": true,
          "excluido": true,
          "uPhone": "string",
          "uAccessCode": "string",
          "maskedCode": "string"
        }
      ],
      "signaturePosition": 0,
      "blockDocumentAfterLimit": true,
      "accessCode": "string",
      "identificationType": {
        "faceCheckType": {},
        "faceCheck": {},
        "accessCode": true,
        "sms": true,
        "externEmail": true
      },
      "notificationLanguage": {},
      "canCollectInPersonSignature": true
    }
  ],
  "observerGroups": [
    {
      "id": 0,
      "companyId": 0,
      "name": "string",
      "title": "string",
      "step": 0
    }
  ],
  "globalObservers": [
    {
      "id": 0,
      "uid": "string",
      "name": "string",
      "email": "string",
      "pjId": 0,
      "individualIdentificationCode": "string",
      "region": {},
      "bloqueado": true,
      "excluido": true,
      "uPhone": "string",
      "uAccessCode": "string",
      "maskedCode": "string"
    }
  ],
  "recipients": {
    "emails": "string",
    "urls": "string",
    "attached": true
  },
  "notifiedList": {
    "emails": "string"
  },
  "allowChangeRecipients": true,
  "allowChangeNotified": true,
  "sendSubscribersRecipients": true,
  "sendSubscribersNotified": true,
  "documents": [
    {
      "name": "string",
      "upload": {
        "id": "string",
        "name": "string"
      },
      "hashes": [
        {
          "type": 1,
          "encoding": 1,
          "value": "string"
        }
      ],
      "fields": [
        {
          "id": 0,
          "name": "string",
          "valueId": 0,
          "value": "string",
          "valueWithoutConvert": "string",
          "possibleValues": [
            "string"
          ],
          "display": true
        }
      ]
    }
  ],
  "typeId": 0,
  "inBackgroundProcessing": true
}

excel vba – Como alterar com VBA o e-mail do remetente e inserir a assinatura para disparo de e-mail do outlook?

Tenho enviar um relatório onde preciso inserir uma tabela no corpo do e-mail, porém preciso enviar de um outro e-mail (MBX) do outlook e não do meu pessoal, não estou conseguindo, tentei com o .from mas mesmo assim não funciona.
Além disso preciso inserir a assinatura ao final do e-mail e também não estou conseguindo.
Alguém consegue me ajudar?

Sub Envia_Email_Tabela()


Application.DisplayAlerts = False


Sheets("Tabela").Select

Dim email_envio As Variant

email_envio = ThisWorkbook.Sheets("E-MAIL").Cells(3, 2) 'e-mail para qual será enviado

Range("A7").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
    '.Item.From = ThisWorkbook.Sheets("E-MAIL").Cells(1, 9) 
    .Introduction = ThisWorkbook.Sheets("E-MAIL").Cells(3, 4)
    .Item.To = ThisWorkbook.Sheets("E-MAIL").Cells(3, 2)
    .Item.CC = ThisWorkbook.Sheets("E-MAIL").Cells(3, 3)
    .Item.Subject = ThisWorkbook.Sheets("E-MAIL").Cells(3, 5) & "  " & ThisWorkbook.Sheets("E-MAIL").Cells(1, 3) & " " & ThisWorkbook.Sheets("E-MAIL").Cells(3, 6) 'Assunto do e-mail
    .Item.Send


End With

End Sub