weryfikacja podpisu elektronicznego

Wstęp

SAWPE umożliwia weryfikowanie plików poprzez API oraz pobieranie wyników archiwalnych w postaci HTML, PDF i JSON.

Autoryzacja

Autoryzacja odbywa się poprzez przekazanie klucza autoryzacyjnego w nagłówku api-auth.

Domyślny klucz api-auth to: 376c66a0f4e10c7aa45b1c3a3321c2f093c1d08e0a1b5831c1b4fb66873ab1f7

Aby uzyskać własny klucz premium - bez ograniczeń wyszukiwania, skontaktuj się z nami za pomocą formularza

curl "https://weryfikacjapodpisu.pl/api/<PATH>"-H "api-auth: YOUR_API_KEY"

Pobieranie archiwalnych

GET

Ten endpoint pozwala pobrać archiwalne wyniki przy pomocy identyfikatora weryfikacji.

Identyfikator zawiera w sobie informację, czy skorzystano z domyślnego klucza autoryzacyjnego, czy płatnego.

Identyfikator weryfikacji można znaleźć w jsonie odpowiedzi serwera po weryfikacji, wydruku PDF lub widoku HTML.

Istnieje możliwość pobrania wyniku weryfikacji w języku angielskim, należy w tym celu dodać parametr lang do zaptytania, tak jak w przykładzie.

HTTP Request

GET https://weryfikacjapodpisu.pl/api/v2/epw/<ID>.<TYPE>?lang=<LANG>

Parametry URL

ParametrOpis
IDIdentyfikator weryfikacji
TYPETyp pobieranego pliku (HTML, PDF lub JSON)
LANGJęzyk wyniku weryfikacji (pl lub en), opcjonalny
curl "https://weryfikacjapodpisu.pl/api/v2/epw/4725d2b6cb62b8ee8a7efcbf65d08d0fd52967b4949e615a7d825ff1643e1ed2.pdf?lang=pl"

W przypadku płatnego klucza, zwróci załącznik w formacie PDF.

W przypadku użycia domyślnego klucza autoryzacyjnego nie ma możliwości pobierania wyników archiwalnych w postaci plików.

Podany parametr lang jest opcjonalny, w przypadku nieprzekazania parametru wynik weryfikacji będzie w języku polskim.

Weryfikacja

POST

Ten endpoint pozwala przesłać pliki do weryfikacji.

Istnieje możliwość przesłania opcjonalnych tablic white_list i black_list z nazwami plików. Lista przesyłanych plików do weryfikatora będzie wtedy okrojona: dodane zostaną tylko pliki z white listy (jeżeli jest ustawiona) i usunięte pliki znajdujące się na black liście.

HTTP Request

POST https://weryfikacjapodpisu.pl/api/verify

Parametry URL

ParametrOpis
white_listtablica z nazwami plików, które powinny być zweryfikowane (parametr opcjonalny)
black_listtablica z nazwami plików, które nie powinny być weryfikowane (parametr opcjonalny)
curl -F "file[0]"=@some_signed_file.xml -F "file[1]"=@signature.xml -H "api-auth: YOUR_API_KEY" https://weryfikacjapodpisu.pl/api/verify

Przykładowy JSON zwrotny dla podpisu typu XAdES:

{
  "appID": "weryfikacjapodpisu.pl",
  "dateRequest": "2017-04-14 9:53:26",
  "idRequest": "5f05ac9c3b54d23d8dd607d5f312b7936094a9c091a7f586ad8557f91d06a17a",
  "requestFiles": [
    "print_20170221095349.pdf.xades",
    "print_20170221095349.pdf"
  ],
  "signatureFiles": [
    {
      "fileName": "print_20170221095349.pdf.xades",
      "fileStatus": "CORRECT",
      "signatureNodesResult": [
        {
          "PZStatus": {
            "danePZ": null,
            "status": "NOT_EXISTS"
          },
          "certificateResult": {
            "certificatePathStatus": "CORRECT",
            "isTrustedChain": "CORRECT",
            "otherErrors": [],
            "problemWithPz": false,
            "reports": [
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": false,
                "issuer": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "name": "CN=Bartosz Tomaszewski, GN=Bartosz, SN=Tomaszewski, serialNumber=PESEL:13292762743, C=PL",
                "selfSigned": false,
                "serialNumber": "50234529",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2018-04-28",
                  "notBefore": "2016-04-28"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": true,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "selfSigned": false,
                "serialNumber": "29592591606546924594270077441325992323698688547",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2016-04-01"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "selfSigned": true,
                "serialNumber": "563206454069127598643323046419945895619292235545",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2009-10-26"
                }
              }
            ],
            "unvalidChain": false
          },
          "commitmentType": [],
          "nodePath": "/ds:Signature",
          "parentNodePath": null,
          "pdfSignatureResult": null,
          "signatureResult": {
            "reference": [
              {
                "externalFile": true,
                "idReference": "Reference1_f2eaf393-669f-4a61-9709-e5440aa06334_72",
                "status": "CORRECT",
                "uri": "print_20170221095349.pdf"
              },
              {
                "externalFile": false,
                "idReference": "SignedProperties-Reference_f2eaf393-669f-4a61-9709-e5440aa06334_7d",
                "status": "CORRECT",
                "uri": "#SignedProperties_f2eaf393-669f-4a61-9709-e5440aa06334_1b"
              }
            ],
            "signatureValueStatus": {
              "status": "CORRECT"
            }
          },
          "signatureStatus": "CORRECT",
          "signatureType": {
            "type": "QUALIFIED"
          },
          "signedFileInfo": null,
          "signer": "Bartosz Tomaszewski",
          "signingCertificateStatus": {
            "status": "CORRECT"
          },
          "signingTimeResult": {
            "time": "2017-02-21 08:54:31",
            "type": "DECLARED"
          },
          "timestampStatus": {
            "certificateStatus": null,
            "timestampExist": false,
            "timestampValue": "2017-04-14 09:53:24",
            "verificationStatus": "UNCHECKED"
          },
          "unsignedProperties": {
            "certificateRefsResult": [
              {
                "id": null,
                "status": "NOT_EXISTS",
                "subjectDN": null
              }
            ],
            "revocationRefsResult": [
              {
                "id": null,
                "status": "NOT_EXISTS"
              }
            ]
          }
        },
        {
          "PZStatus": {
            "danePZ": null,
            "status": "NOT_EXISTS"
          },
          "certificateResult": {
            "certificatePathStatus": "CORRECT",
            "isTrustedChain": "CORRECT",
            "otherErrors": [],
            "problemWithPz": false,
            "reports": [
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": false,
                "issuer": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "name": "CN=Bartosz Tomaszewski, GN=Bartosz, SN=Tomaszewski, serialNumber=PESEL:13292762743, C=PL",
                "selfSigned": false,
                "serialNumber": "50234529",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2018-04-28",
                  "notBefore": "2016-04-28"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": true,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "selfSigned": false,
                "serialNumber": "29592591606546924594270077441325992323698688547",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2016-04-01"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "selfSigned": true,
                "serialNumber": "563206454069127598643323046419945895619292235545",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2009-10-26"
                }
              }
            ],
            "unvalidChain": false
          },
          "commitmentType": [],
          "nodePath": "/ds:Signature/ds:Object/xades:QualifyingProperties/xades:UnsignedProperties/xades:UnsignedSignatureProperties/xades:CounterSignature/ds:Signature",
          "parentNodePath": "/ds:Signature",
          "pdfSignatureResult": null,
          "signatureResult": {
            "reference": [
              {
                "externalFile": false,
                "idReference": "Reference1_da9736e8-37bf-4df3-8d33-8188abe99936_7c",
                "status": "CORRECT",
                "uri": "#SignatureValue_f2eaf393-669f-4a61-9709-e5440aa06334_07"
              },
              {
                "externalFile": false,
                "idReference": "SignedProperties-Reference_da9736e8-37bf-4df3-8d33-8188abe99936_73",
                "status": "CORRECT",
                "uri": "#SignedProperties_da9736e8-37bf-4df3-8d33-8188abe99936_15"
              }
            ],
            "signatureValueStatus": {
              "status": "CORRECT"
            }
          },
          "signatureStatus": "CORRECT",
          "signatureType": {
            "type": "QUALIFIED"
          },
          "signedFileInfo": null,
          "signer": "Bartosz Tomaszewski",
          "signingCertificateStatus": {
            "status": "CORRECT"
          },
          "signingTimeResult": {
            "time": "2017-02-21 08:56:44",
            "type": "DECLARED"
          },
          "timestampStatus": {
            "certificateStatus": null,
            "timestampExist": false,
            "timestampValue": "2017-04-14 09:53:24",
            "verificationStatus": "UNCHECKED"
          },
          "unsignedProperties": {
            "certificateRefsResult": [
              {
                "id": null,
                "status": "NOT_EXISTS",
                "subjectDN": null
              }
            ],
            "revocationRefsResult": [
              {
                "id": null,
                "status": "NOT_EXISTS"
              }
            ]
          }
        }
      ]
    }
  ],
  "status": "ok",
  "verificationStatus": "CORRECT"
}

Przykładowy JSON zwrotny dla podpisu typu PAdES:

{
  "appID": "weryfikacjapodpisu.pl",
  "dateRequest": "2017-04-14 9:17:37",
  "idRequest": "5f05ac9c3b54d23d8dd607d5f312b7936094a9c091a7f586ad8557f91d06a17a",
  "requestFiles": [
    "D2017003077001.pdf"
  ],
  "signatureFiles": [
    {
      "fileName": "D2017000078001.pdf",
      "fileStatus": "CORRECT",
      "signatureNodesResult": [
        {
          "PZStatus": {
            "danePZ": null,
            "status": "NOT_EXISTS"
          },
          "certificateResult": {
            "certificatePathStatus": "CORRECT",
            "isTrustedChain": "CORRECT",
            "otherErrors": [],
            "problemWithPz": false,
            "reports": [
              {
                "download": {
                  "originalName": "Mikołaj Baranowski.pem"
                },
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": false,
                "issuer": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "name": "CN=Mikołaj Baranowski, GN=Mikołaj, SN=Baranowski, serialNumber=PESEL:24072238446, C=PL",
                "selfSigned": false,
                "serialNumber": "120502833778484445328069050452749185273",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2018-07-10",
                  "notBefore": "2016-07-10"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": true,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "serialNumber=Nr wpisu: 14, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QCA",
                "selfSigned": false,
                "serialNumber": "29592591606546924594270077441325992323698688547",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2016-04-01"
                }
              },
              {
                "download": null,
                "generalStatus": "CORRECT",
                "isPzCA": false,
                "isQualified": false,
                "isTimestampCA": false,
                "isTrusted": true,
                "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "name": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                "selfSigned": true,
                "serialNumber": "563206454069127598643323046419945895619292235545",
                "statusCrl": {
                  "status": "CORRECT"
                },
                "statusOcsp": {
                  "status": "UNCHECKED"
                },
                "statusValidity": {
                  "status": "CORRECT"
                },
                "validity": {
                  "notAfter": "2020-10-26",
                  "notBefore": "2009-10-26"
                }
              }
            ],
            "unvalidChain": false
          },
          "commitmentType": [],
          "nodePath": "Signature-271279d4-8c43-4d7c-acfc-bd4ce0cd7b9b",
          "parentNodePath": null,
          "pdfSignatureResult": {
            "isLastSignature": true,
            "isModified": false,
            "isWholeDocument": true,
            "revision": "1",
            "signedDocument": "D2017003077001.pdf"
          },
          "signatureResult": null,
          "signatureStatus": "CORRECT",
          "signatureType": {
            "type": "PADES"
          },
          "signedFileInfo": {
            "originalName": "D2017003077001.pdf_1.pdf"
          },
          "signer": "Mikołaj Baranowski",
          "signingCertificateStatus": {
            "status": "DOESNT_EXIST"
          },
          "signingTimeResult": {
            "time": "2017-04-13 14:00:52",
            "type": "TIMESTAMP"
          },
          "timestampStatus": {
            "certificateStatus": {
              "certificatePathStatus": "CORRECT",
              "isTrustedChain": "CORRECT",
              "otherErrors": [],
              "problemWithPz": false,
              "reports": [
                {
                  "download": null,
                  "generalStatus": "CORRECT",
                  "isPzCA": false,
                  "isQualified": false,
                  "isTimestampCA": true,
                  "isTrusted": false,
                  "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                  "name": "serialNumber=Nr wpisu: 15, C=PL, O=Asseco Data Systems S.A., CN=CERTUM QTSA",
                  "selfSigned": false,
                  "serialNumber": "227792606299944004592002222445418427029064848827",
                  "statusCrl": {
                    "status": "CORRECT"
                  },
                  "statusOcsp": {
                    "status": "UNCHECKED"
                  },
                  "statusValidity": {
                    "status": "CORRECT"
                  },
                  "validity": {
                    "notAfter": "2020-10-26",
                    "notBefore": "2016-04-01"
                  }
                },
                {
                  "download": null,
                  "generalStatus": "CORRECT",
                  "isPzCA": false,
                  "isQualified": false,
                  "isTimestampCA": false,
                  "isTrusted": true,
                  "issuer": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                  "name": "C=PL, O=Minister wlasciwy do spraw gospodarki, CN=Narodowe Centrum Certyfikacji (NCCert)",
                  "selfSigned": true,
                  "serialNumber": "563206454069127598643323046419945895619292235545",
                  "statusCrl": {
                    "status": "CORRECT"
                  },
                  "statusOcsp": {
                    "status": "UNCHECKED"
                  },
                  "statusValidity": {
                    "status": "CORRECT"
                  },
                  "validity": {
                    "notAfter": "2020-10-26",
                    "notBefore": "2009-10-26"
                  }
                }
              ],
              "unvalidChain": false
            },
            "timestampExist": true,
            "timestampValue": "2017-04-13 14:00:52",
            "verificationStatus": "CORRECT"
          },
          "unsignedProperties": null
        }
      ]
    }
  ],
  "status": "ok",
  "verificationStatus": "CORRECT"
}