Можно ли получить / проанализировать информацию $ _SERVER [ ‘SSL_CLIENT_CERT’] и подписать PDF, используя setSignature () из Tcpdf?
В нашем веб-приложении необходимо будет создавать PDF-файлы на лету и подписывать их с помощью клиентского сертификата.
Заранее спасибо !
SSL_CLIENT_CERT
имеет только открытый ключ, поэтому вы не сможете ничего подписать таким образом.
Чтобы подписать что-либо сертификатом X.509, вы должны иметь доступ к его закрытому ключу. Это означает, что только владелец сертификата может подписать что-либо, используя программное обеспечение, которое будет иметь доступ к закрытому ключу. Поэтому невозможно подписаться на сервер с помощью сертификата пользователя. Используя открытый ключ, вы сможете только зашифровать данные.
К сожалению, поскольку Java-апплеты сегодня в основном непригодны, вам будет сложно заставить это работать в браузерах. Может быть PKI.js поможет, но я не знаю, будет ли он работать с аппаратными токенами (PKCS # 11).
Недавно мне было предложено найти решение аналогичной проблемы, и я сделал настольное приложение (только для Windows, с использованием .NET). Библиотека SecureBlackbox) сидя в трее, который периодически опрашивает сервер на предмет подписи документов, выбирает их, подписывает и возвращает подписанный на сервер.
Других решений пока нет …