16.05.2006 3:38:34JCP Формирование PKCS7 Ответов: 3
Serge
Не подскажите как с помощью JCP получить подпись с подписываемыми данными?!
 
Ответы:
16.05.2006 13:41:27Иван
Если не хочется самим реализовывать PKCS#7, можно воспользоваться библиотекой bouncycastle (http://www.bouncycastle.org). В их реализации есть поддержка алгоритмов КриптоПро.
16.05.2006 14:51:15Serge
А примеров именно для crypto pro + bouncycastle?!
08.10.2006 14:18:24pasha
public String verify(byte[] signedData) throws Exception {

byte[] data = signedData;
if ( isBase64Encoded(signedData) ) {
data = (new BASE64Decoder()).decodeBuffer(new String(signedData));
}

CMSSignedData s = new CMSSignedData(data);
SignerInformationStore signers = s.getSignerInfos();
Collection c = signers.getSigners();

CMSProcessableByteArray cpb = (CMSProcessableByteArray) s.getSignedContent();
byte[] rawcontent = (byte[]) cpb.getContent() ;

Iterator it = c.iterator();
while ( it.hasNext() ) {
SignerInformation signer = (SignerInformation)it.next();
if ( !signer.verify( publicKey, providerName) ) {
throw new Exception("Message can't be verified!");
}
}
}