Skip to content

Как получить список сертификатов на которые зашифрован файл

Igor edited this page Sep 19, 2018 · 2 revisions
DocflowService service = engine.getDocflowService();

CertificatesClient certsClient = new CertificatesClient(
        <api-key>,
        () -> "https://api.kontur.ru/certapi/v1"  // "https://api.testkontur.ru/certapi/v1" - на тестовой!
);

String docflowId = ...;
String documentId = ...;

byte[] encrypted = service
        .getEncryptedContentAsync(docflowId, documentId)
        .get()
        .getOrThrow();

Stream<String> serials = CryptoApi.getSerialNumbers(encrypted);
SearchQuery searchQuery = SearchQuery.searchAll("serial", serials);
CertificateSearchResult searchResult = certsClient.searchCeritficates(0, 5000, searchQuery);

System.out.printf("Документ можно расшифровать следующими сертификатами (%s)\n", searchResult.getTotalHits());
for (CertificateFields result : searchResult.getResults()) {
    System.out.println("\t" + result.getThumbprint());
}