Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.11.2012(UTC) Сообщений: 77 Откуда: Тольятти
|
final Asn1ObjectIdentifier timeStampOid = new Asn1ObjectIdentifier( (new OID("1.2.840.113549.1.9.16.2.47")).value); ... }else if (timeStampOid.equals(signedAttrs.elements[r].type)){ Attribute attribute = signedAttrs.elements[r]; getTimeStampToken(attribute); ....
как преобразовать Attribute в TimeStampToken чтобы получить время ?
public static void getTimeStampToken(Attribute attribute) throws Exception {
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.11.2012(UTC) Сообщений: 77 Откуда: Тольятти
|
//import org.bouncycastle.tsp.TimeStampToken; или //import ru.CryptoPro.JCP.ASN.PKIXTSP.TimeStampToken; ..........................................................................................
final Asn1BerDecodeBuffer asnBuf = new Asn1BerDecodeBuffer(buffer); final ContentInfo allContentInfo = new ContentInfo(); allContentInfo.decode(asnBuf);
final SignedData signedDataCms = (SignedData) allContentInfo.content; SignerInfo[] signerInfo = signedDataCms.signerInfos.elements; getSignerInfo(signerInfo); ...............................................
SignedAttributes signedAttrs = signerInfo[i].signedAttrs; //(4) getSignedAttributes(signedAttrs); ....................................................
final Asn1ObjectIdentifier timeStampOid = new Asn1ObjectIdentifier( (new OID("1.2.840.113549.1.9.16.2.47")).value);
... }else if (timeStampOid.equals(signedAttrs.elements[r].type)){ Attribute attribute = signedAttrs.elements[r]; getTimeStampToken(attribute);
....
как преобразовать Attribute в TimeStampToken чтобы получить время ?
public static void getTimeStampToken(Attribute attribute) throws Exception {
вывести время
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.11.2012(UTC) Сообщений: 77 Откуда: Тольятти
|
не пойму как мне данные вытаскивать из атрибутов, может где пример есть, вроде все просмотрел пытаюсь из подписи вытащить данные для просмотра подпись сформирована в примере cades_examples\CAdES это вроде вытащил - getIssuerAndSerialNumber а вот с атрибутами сообразить не могу а примеров не найду (что то в ЭЦП так лихо все закручено :-) Код:public static void getSignedAttributes(SignedAttributes signedAttrs)
throws Exception {
//SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
/* Attribute ::= SEQUENCE {
attrType OBJECT IDENTIFIER,
attrValues SET OF AttributeValue }*/
final Asn1ObjectIdentifier messageDigestOid = new Asn1ObjectIdentifier(
(new OID(CMStools.STR_CMS_OID_DIGEST_ATTR)).value);
final Asn1ObjectIdentifier contentTypeOid = new Asn1ObjectIdentifier(
(new OID(CMStools.STR_CMS_OID_CONT_TYP_ATTR)).value);
final Asn1ObjectIdentifier timeStampOid = new Asn1ObjectIdentifier(
(new OID("1.2.840.113549.1.9.16.2.47")).value);
//TimeStampToken - определен в документе RFC 3161 [7] и описан в документе TS 101 861 [i.9].
for (int r = 0; r < signedAttrs.elements.length; r++) {
System.out.print(signedAttrs.elements[r].type);
if (messageDigestOid.equals(signedAttrs.elements[r].type)){
Attribute attribute = signedAttrs.elements[r];
System.out.println("Нашли - messageDiges");
}else if (contentTypeOid.equals(signedAttrs.elements[r].type)){
System.out.println("Нашли - contentType");
Attribute attribute = signedAttrs.elements[r];
getContentType(attribute);
}else if (timeStampOid.equals(signedAttrs.elements[r].type)){
Attribute attribute = signedAttrs.elements[r];
getTimeStampToken(attribute);
System.out.println("Нашли - TimeStampToken");
}
}
}
Отредактировано пользователем 5 декабря 2012 г. 19:18:22(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close