Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline i1211  
#1 Оставлено : 11 сентября 2013 г. 11:14:41(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

Здравствуйте, прошу откликнуться знающих людей:

Необходимо создать открепленную подпись. В примерах в samples_src.jar в пакете с Криптопро JCP нашел такую функцию:
Код:

public static byte[] createCMS(byte[] buffer, byte[] sign, Certificate cert,
                               boolean detached)
        throws Exception {
    final ContentInfo all = new ContentInfo();
    all.contentType = new Asn1ObjectIdentifier(
            new OID(CMStools.STR_CMS_OID_SIGNED).value);
    final SignedData cms = new SignedData();
    all.content = cms;
    cms.version = new CMSVersion(1);
    // digest
    cms.digestAlgorithms = new DigestAlgorithmIdentifiers(1);
    final DigestAlgorithmIdentifier a = new DigestAlgorithmIdentifier(
            new OID(CMStools.DIGEST_OID).value);
    a.parameters = new Asn1Null();
    cms.digestAlgorithms.elements[0] = a;
    if (detached)
        cms.encapContentInfo = new EncapsulatedContentInfo(
                new Asn1ObjectIdentifier(
                        new OID(CMStools.STR_CMS_OID_DATA).value), null);
    else
        cms.encapContentInfo =
                new EncapsulatedContentInfo(new Asn1ObjectIdentifier(
                        new OID(CMStools.STR_CMS_OID_DATA).value),
                        new Asn1OctetString(buffer));
    // certificate
    cms.certificates = new CertificateSet(1);
    final ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Certificate certificate =
            new ru.CryptoPro.JCP.ASN.PKIX1Explicit88.Certificate();
    final Asn1BerDecodeBuffer decodeBuffer =
            new Asn1BerDecodeBuffer(cert.getEncoded());
    certificate.decode(decodeBuffer);
    cms.certificates.elements = new CertificateChoices[1];
    cms.certificates.elements[0] = new CertificateChoices();
    cms.certificates.elements[0].set_certificate(certificate);

    // signer info
    cms.signerInfos = new SignerInfos(1);
    cms.signerInfos.elements[0] = new SignerInfo();
    cms.signerInfos.elements[0].version = new CMSVersion(1);
    cms.signerInfos.elements[0].sid = new SignerIdentifier();

    final byte[] encodedName = ((X509Certificate) cert).getIssuerX500Principal()
            .getEncoded();
    final Asn1BerDecodeBuffer nameBuf = new Asn1BerDecodeBuffer(encodedName);
    final Name name = new Name();
    name.decode(nameBuf);

    final CertificateSerialNumber num = new CertificateSerialNumber(
            ((X509Certificate) cert).getSerialNumber());
    cms.signerInfos.elements[0].sid.set_issuerAndSerialNumber(
            new IssuerAndSerialNumber(name, num));
    cms.signerInfos.elements[0].digestAlgorithm =
            new DigestAlgorithmIdentifier(new OID(CMStools.DIGEST_OID).value);
    cms.signerInfos.elements[0].digestAlgorithm.parameters = new Asn1Null();
    cms.signerInfos.elements[0].signatureAlgorithm =
            new SignatureAlgorithmIdentifier(new OID(CMStools.SIGN_OID).value);
    cms.signerInfos.elements[0].signatureAlgorithm.parameters = new Asn1Null();
    cms.signerInfos.elements[0].signature = new SignatureValue(sign);
    cms.signerInfos.elements[0].signedAttrs = new SignedAttributes();
    // encode
//    final Asn1BerEncodeBuffer asnBuf = new Asn1BerEncodeBuffer();
    final Asn1DerEncodeBuffer asnBuf = new Asn1DerEncodeBuffer();
    all.encode(asnBuf, true);
    return asnBuf.getMsgCopy();
}


При этом создается электронная подпись такого состава:
Код:

<?xml version="1.0" encoding="UTF-8"?>

<!-- XML document generated by ASN1VE v2.3.3
(http://www.obj-sys.com).  Copyright 2004-2013, All Rights Reserved -->

<!-- message 1 -->
<SEQUENCE>
   <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 7 2 }</OBJECT_IDENTIFIER>
   <CONTEXT_0>
      <SEQUENCE>
         <INTEGER>1</INTEGER>
         <SET>
            <SEQUENCE>
               <OBJECT_IDENTIFIER>{ 1 2 643 2 2 9 }</OBJECT_IDENTIFIER>
               <NULL/>
            </SEQUENCE>
         </SET>
         <SEQUENCE>
            <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 7 1 }</OBJECT_IDENTIFIER>
         </SEQUENCE>
         <CONTEXT_0>
            <SEQUENCE>
               <SEQUENCE>
                  <CONTEXT_0>
                     <INTEGER>2</INTEGER>
                  </CONTEXT_0>
                  <INTEGER>171387535008336063761909</INTEGER>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 643 2 2 3 }</OBJECT_IDENTIFIER>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1091690014712</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>001655174024</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 9 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Петербургская 52</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>ca@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>16 Республика Татарстан</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Казань</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>ГУП "Центр информационных технологий РТ"</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 11 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Удостоверяющий центр</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>CIT RT CA</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <UTCTIME>130605103100Z</UTCTIME>
                     <UTCTIME>140905104100Z</UTCTIME>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 3 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>11944238056</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1047702026701</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>007710474375</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>Anna.dudnikova@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>77 Москва</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Москва</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>ООО "Системы документооборота - Дистрибуция"</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Серова Анна Андреевна</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 12 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Менеджер</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SEQUENCE>
                        <OBJECT_IDENTIFIER>{ 1 2 643 2 2 19 }</OBJECT_IDENTIFIER>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 2 2 36 0 }</OBJECT_IDENTIFIER>
                           <OBJECT_IDENTIFIER>{ 1 2 643 2 2 30 1 }</OBJECT_IDENTIFIER>
                        </SEQUENCE>
                     </SEQUENCE>
                     <BIT_STRING>
                        04 40 44 19 c4 0c d3 75 

                        fe 21 ad b6 d4 0d 5b e6 

                        07 83 e7 6e 4c c3 18 98 

                        08 09 e8 c1 9d 12 48 bd 

                        14 fd dd dc aa fe ac be 

                        d0 09 3b 82 b6 60 87 28 

                        9b e2 8e 34 a0 3c fe b4 

                        26 cf 07 a7 64 ea 1b ae 

                        73 c8 
</BIT_STRING>
                  </SEQUENCE>
                  <CONTEXT_3>
                     <SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 15 }</OBJECT_IDENTIFIER>
                           <BOOLEAN>TRUE</BOOLEAN>
                           <OCTET_STRING>030204F0</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 37 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>302706082B0601050507030406082A8503050310020106072A85030202220606082B06010505070302</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 14 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>0414FCFC08DF957E7059512744E2915FE802F3BB1D2C</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 35 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>308201A1801474DEE2CF197952CD0C5AF1AE2143AF538BE8E8CEA182017BA4820177308201733118301606052A85036401120D31303931363930303134373132311A301806082A85030381030101120C3030313635353137343032343126302406035504090C1DD09FD0B5D182D0B5D180D0B1D183D180D0B3D181D0BAD0B0D18F203532311A301806092A864886F70D010901160B63614074617461722E7275310B30090603550406130252553133303106035504080C2A313620D0A0D0B5D181D0BFD183D0B1D0BBD0B8D0BAD0B020D0A2D0B0D182D0B0D180D181D182D0B0D0BD3115301306035504070C0CD09AD0B0D0B7D0B0D0BDD18C31533051060355040A0C4AD093D0A3D09F2022D0A6D0B5D0BDD182D18020D0B8D0BDD184D0BED180D0BCD0B0D186D0B8D0BED0BDD0BDD18BD18520D182D0B5D185D0BDD0BED0BBD0BED0B3D0B8D0B920D0A0D0A2223130302E060355040B0C27D0A3D0B4D0BED181D182D0BED0B2D0B5D180D18FD18ED189D0B8D0B920D186D0B5D0BDD182D180311730150603550403130E43495420525420526F6F74204341820A1ABCF4F5000000000013</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 31 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>30819A304BA049A0478645687474703A2F2F63726C312E74617461722E72752F6364702F373464656532636631393739353263643063356166316165323134336166353338626538653863652E63726C304BA049A0478645687474703A2F2F63726C322E74617461722E72752F6364702F373464656532636631393739353263643063356166316165323134336166353338626538653863652E63726C</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 3 6 1 5 5 7 1 1 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>306E303506082B060105050730028629687474703A2F2F63726C312E74617461722E72752F6364702F636974727463615F76315F312E637274303506082B060105050730028629687474703A2F2F63726C322E74617461722E72752F6364702F636974727463615F76315F312E637274</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 16 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3022800F32303133303630353130333130305A810F32303134303630353130333130305A</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 32 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3014300806062A8503647101300806062A8503647102</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 111 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>0C35D09AD180D0B8D0BFD182D0BED09FD180D0BE2043535020332E362E312028D098D181D0BFD0BED0BBD0BDD0B5D0BDD0B8D0B5203829</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 112 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3081D40C2B22D09AD180D0B8D0BFD182D0BED09FD180D0BE20435350222028D0B2D0B5D180D181D0B8D18F20332E36290C5322D0A3D0B4D0BED181D182D0BED0B2D0B5D180D18FD18ED189D0B8D0B920D186D0B5D0BDD182D1802022D09AD180D0B8D0BFD182D0BED09FD180D0BE20D0A3D0A62220D0B2D0B5D180D181D0B8D18F20312E350C27D0A1D0A42F3132312D3138353920D0BED18220313720D0B8D18ED0BDD18F203230313220D0B32E0C27D0A1D0A42F3132382D3138323220D0BED18220303120D0B8D18ED0BDD18F203230313220D0B32E</OCTET_STRING>
                        </SEQUENCE>
                     </SEQUENCE>
                  </CONTEXT_3>
               </SEQUENCE>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 3 }</OBJECT_IDENTIFIER>
               </SEQUENCE>
               <BIT_STRING>
                  0e 5f a1 1e e2 34 33 26 

                  62 f0 7d e7 4e c9 30 6b 

                  24 80 44 0e 48 39 93 51 

                  59 18 31 8b b4 40 49 84 

                  6a c1 3f 98 15 39 4c 22 

                  70 93 5e 2e 5e 62 40 da 

                  10 66 09 18 38 24 f1 ea 

                  7f a6 a1 6f f5 56 1a fc 
</BIT_STRING>
            </SEQUENCE>
         </CONTEXT_0>
         <SET>
            <SEQUENCE>
               <INTEGER>1</INTEGER>
               <SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1091690014712</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>001655174024</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 9 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Петербургская 52</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>ca@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>16 Республика Татарстан</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Казань</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>ГУП "Центр информационных технологий РТ"</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 11 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Удостоверяющий центр</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>CIT RT CA</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <INTEGER>171387535008336063761909</INTEGER>
               </SEQUENCE>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 9 }</OBJECT_IDENTIFIER>
                  <NULL/>
               </SEQUENCE>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 19 }</OBJECT_IDENTIFIER>
                  <NULL/>
               </SEQUENCE>
               <OCTET_STRING>A1B7295C43EB3FED67197B6E5CFD303DAE11A2FF727B4AE5A4212600643F85CCC8E0728EE7590B68F8283EB6A8C111DBEDDC7AD10132CD0ED8A121CE28560570</OCTET_STRING>
            </SEQUENCE>
         </SET>
      </SEQUENCE>
   </CONTEXT_0>
</SEQUENCE>


Продолжение в следующем сообщении.
Offline i1211  
#2 Оставлено : 11 сентября 2013 г. 11:15:28(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

Однако, очень нужно, чтобы ЭП соответствовала такому составу:
Код:

<?xml version="1.0" encoding="UTF-8"?>

<!-- XML document generated by ASN1VE v2.3.3
(http://www.obj-sys.com).  Copyright 2004-2013, All Rights Reserved -->

<!-- message 1 -->
<SEQUENCE>
   <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 7 2 }</OBJECT_IDENTIFIER>
   <CONTEXT_0>
      <SEQUENCE>
         <INTEGER>1</INTEGER>
         <SET>
            <SEQUENCE>
               <OBJECT_IDENTIFIER>{ 1 2 643 2 2 9 }</OBJECT_IDENTIFIER>
               <NULL/>
            </SEQUENCE>
         </SET>
         <SEQUENCE>
            <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 7 1 }</OBJECT_IDENTIFIER>
         </SEQUENCE>
         <CONTEXT_0>
            <SEQUENCE>
               <SEQUENCE>
                  <CONTEXT_0>
                     <INTEGER>2</INTEGER>
                  </CONTEXT_0>
                  <INTEGER>171387535008336063761909</INTEGER>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 643 2 2 3 }</OBJECT_IDENTIFIER>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1091690014712</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>001655174024</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 9 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Петербургская 52</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>ca@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>16 Республика Татарстан</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Казань</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>ГУП "Центр информационных технологий РТ"</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 11 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Удостоверяющий центр</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>CIT RT CA</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <UTCTIME>130605103100Z</UTCTIME>
                     <UTCTIME>140905104100Z</UTCTIME>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 3 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>11944238056</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1047702026701</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>007710474375</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>Anna.dudnikova@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>77 Москва</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Москва</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>ООО "Системы документооборота - Дистрибуция"</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Серова Анна Андреевна</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 12 }</OBJECT_IDENTIFIER>
                           <UNIVERSAL_30>Менеджер</UNIVERSAL_30>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <SEQUENCE>
                        <OBJECT_IDENTIFIER>{ 1 2 643 2 2 19 }</OBJECT_IDENTIFIER>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 2 2 36 0 }</OBJECT_IDENTIFIER>
                           <OBJECT_IDENTIFIER>{ 1 2 643 2 2 30 1 }</OBJECT_IDENTIFIER>
                        </SEQUENCE>
                     </SEQUENCE>
                     <BIT_STRING>
                        04 40 44 19 c4 0c d3 75 

                        fe 21 ad b6 d4 0d 5b e6 

                        07 83 e7 6e 4c c3 18 98 

                        08 09 e8 c1 9d 12 48 bd 

                        14 fd dd dc aa fe ac be 

                        d0 09 3b 82 b6 60 87 28 

                        9b e2 8e 34 a0 3c fe b4 

                        26 cf 07 a7 64 ea 1b ae 

                        73 c8 
</BIT_STRING>
                  </SEQUENCE>
                  <CONTEXT_3>
                     <SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 15 }</OBJECT_IDENTIFIER>
                           <BOOLEAN>TRUE</BOOLEAN>
                           <OCTET_STRING>030204F0</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 37 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>302706082B0601050507030406082A8503050310020106072A85030202220606082B06010505070302</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 14 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>0414FCFC08DF957E7059512744E2915FE802F3BB1D2C</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 35 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>308201A1801474DEE2CF197952CD0C5AF1AE2143AF538BE8E8CEA182017BA4820177308201733118301606052A85036401120D31303931363930303134373132311A301806082A85030381030101120C3030313635353137343032343126302406035504090C1DD09FD0B5D182D0B5D180D0B1D183D180D0B3D181D0BAD0B0D18F203532311A301806092A864886F70D010901160B63614074617461722E7275310B30090603550406130252553133303106035504080C2A313620D0A0D0B5D181D0BFD183D0B1D0BBD0B8D0BAD0B020D0A2D0B0D182D0B0D180D181D182D0B0D0BD3115301306035504070C0CD09AD0B0D0B7D0B0D0BDD18C31533051060355040A0C4AD093D0A3D09F2022D0A6D0B5D0BDD182D18020D0B8D0BDD184D0BED180D0BCD0B0D186D0B8D0BED0BDD0BDD18BD18520D182D0B5D185D0BDD0BED0BBD0BED0B3D0B8D0B920D0A0D0A2223130302E060355040B0C27D0A3D0B4D0BED181D182D0BED0B2D0B5D180D18FD18ED189D0B8D0B920D186D0B5D0BDD182D180311730150603550403130E43495420525420526F6F74204341820A1ABCF4F5000000000013</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 31 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>30819A304BA049A0478645687474703A2F2F63726C312E74617461722E72752F6364702F373464656532636631393739353263643063356166316165323134336166353338626538653863652E63726C304BA049A0478645687474703A2F2F63726C322E74617461722E72752F6364702F373464656532636631393739353263643063356166316165323134336166353338626538653863652E63726C</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 3 6 1 5 5 7 1 1 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>306E303506082B060105050730028629687474703A2F2F63726C312E74617461722E72752F6364702F636974727463615F76315F312E637274303506082B060105050730028629687474703A2F2F63726C322E74617461722E72752F6364702F636974727463615F76315F312E637274</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 16 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3022800F32303133303630353130333130305A810F32303134303630353130333130305A</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 29 32 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3014300806062A8503647101300806062A8503647102</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 111 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>0C35D09AD180D0B8D0BFD182D0BED09FD180D0BE2043535020332E362E312028D098D181D0BFD0BED0BBD0BDD0B5D0BDD0B8D0B5203829</OCTET_STRING>
                        </SEQUENCE>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 112 }</OBJECT_IDENTIFIER>
                           <OCTET_STRING>3081D40C2B22D09AD180D0B8D0BFD182D0BED09FD180D0BE20435350222028D0B2D0B5D180D181D0B8D18F20332E36290C5322D0A3D0B4D0BED181D182D0BED0B2D0B5D180D18FD18ED189D0B8D0B920D186D0B5D0BDD182D1802022D09AD180D0B8D0BFD182D0BED09FD180D0BE20D0A3D0A62220D0B2D0B5D180D181D0B8D18F20312E350C27D0A1D0A42F3132312D3138353920D0BED18220313720D0B8D18ED0BDD18F203230313220D0B32E0C27D0A1D0A42F3132382D3138323220D0BED18220303120D0B8D18ED0BDD18F203230313220D0B32E</OCTET_STRING>
                        </SEQUENCE>
                     </SEQUENCE>
                  </CONTEXT_3>
               </SEQUENCE>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 3 }</OBJECT_IDENTIFIER>
               </SEQUENCE>
               <BIT_STRING>
                  0e 5f a1 1e e2 34 33 26 

                  62 f0 7d e7 4e c9 30 6b 

                  24 80 44 0e 48 39 93 51 

                  59 18 31 8b b4 40 49 84 

                  6a c1 3f 98 15 39 4c 22 

                  70 93 5e 2e 5e 62 40 da 

                  10 66 09 18 38 24 f1 ea 

                  7f a6 a1 6f f5 56 1a fc 
</BIT_STRING>
            </SEQUENCE>
         </CONTEXT_0>
         <SET>
            <SEQUENCE>
               <INTEGER>1</INTEGER>
               <SEQUENCE>
                  <SEQUENCE>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>1091690014712</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                           <NUMERICSTRING>001655174024</NUMERICSTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 9 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Петербургская 52</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                           <IA5STRING>ca@tatar.ru</IA5STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>RU</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>16 Республика Татарстан</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Казань</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>ГУП "Центр информационных технологий РТ"</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 11 }</OBJECT_IDENTIFIER>
                           <UTF8STRING>Удостоверяющий центр</UTF8STRING>
                        </SEQUENCE>
                     </SET>
                     <SET>
                        <SEQUENCE>
                           <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                           <PRINTABLESTRING>CIT RT CA</PRINTABLESTRING>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
                  <INTEGER>171387535008336063761909</INTEGER>
               </SEQUENCE>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 9 }</OBJECT_IDENTIFIER>
                  <NULL/>
               </SEQUENCE>
               <CONTEXT_0>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 2 25 313731 5229867 6461865 }</OBJECT_IDENTIFIER>
                     <SET>
                        <INTEGER>1</INTEGER>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 3 }</OBJECT_IDENTIFIER>
                     <SET>
                        <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 7 1 }</OBJECT_IDENTIFIER>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 5 }</OBJECT_IDENTIFIER>
                     <SET>
                        <UTCTIME>130910060544Z</UTCTIME>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 4 }</OBJECT_IDENTIFIER>
                     <SET>
                        <OCTET_STRING>84B7A3A2664C9CEE8B0183BD78E6D106F3651A983FB9DBABB04A6C4B3A919018</OCTET_STRING>
                     </SET>
                  </SEQUENCE>
                  <SEQUENCE>
                     <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 16 2 47 }</OBJECT_IDENTIFIER>
                     <SET>
                        <SEQUENCE>
                           <SEQUENCE>
                              <SEQUENCE>
                                 <SEQUENCE>
                                    <OBJECT_IDENTIFIER>{ 1 2 643 2 2 9 }</OBJECT_IDENTIFIER>
                                 </SEQUENCE>
                                 <OCTET_STRING>84DE7CF8B29511A3F72ABCECC1A84D89D2FAB7C11B1F2EE6D31F73F4494A5E89</OCTET_STRING>
                                 <SEQUENCE>
                                    <SEQUENCE>
                                       <CONTEXT_4>
                                          <SEQUENCE>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 1 2 643 100 1 }</OBJECT_IDENTIFIER>
                                                   <NUMERICSTRING>1091690014712</NUMERICSTRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 1 2 643 3 131 1 1 }</OBJECT_IDENTIFIER>
                                                   <NUMERICSTRING>001655174024</NUMERICSTRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 9 }</OBJECT_IDENTIFIER>
                                                   <UTF8STRING>Петербургская 52</UTF8STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 1 2 840 113549 1 9 1 }</OBJECT_IDENTIFIER>
                                                   <IA5STRING>ca@tatar.ru</IA5STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 6 }</OBJECT_IDENTIFIER>
                                                   <PRINTABLESTRING>RU</PRINTABLESTRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 8 }</OBJECT_IDENTIFIER>
                                                   <UTF8STRING>16 Республика Татарстан</UTF8STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 7 }</OBJECT_IDENTIFIER>
                                                   <UTF8STRING>Казань</UTF8STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 10 }</OBJECT_IDENTIFIER>
                                                   <UTF8STRING>ГУП "Центр информационных технологий РТ"</UTF8STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 11 }</OBJECT_IDENTIFIER>
                                                   <UTF8STRING>Удостоверяющий центр</UTF8STRING>
                                                </SEQUENCE>
                                             </SET>
                                             <SET>
                                                <SEQUENCE>
                                                   <OBJECT_IDENTIFIER>{ 2 5 4 3 }</OBJECT_IDENTIFIER>
                                                   <PRINTABLESTRING>CIT RT CA</PRINTABLESTRING>
                                                </SEQUENCE>
                                             </SET>
                                          </SEQUENCE>
                                       </CONTEXT_4>
                                    </SEQUENCE>
                                    <INTEGER>171387535008336063761909</INTEGER>
                                 </SEQUENCE>
                              </SEQUENCE>
                           </SEQUENCE>
                        </SEQUENCE>
                     </SET>
                  </SEQUENCE>
               </CONTEXT_0>
               <SEQUENCE>
                  <OBJECT_IDENTIFIER>{ 1 2 643 2 2 19 }</OBJECT_IDENTIFIER>
                  <NULL/>
               </SEQUENCE>
               <OCTET_STRING>BFC78194A55366FC6AE6EA7A064BAD2BA6272C1B9357F9C23F9C8A8518D929A4315A2CADCBD9820A1CFE22D74DA297299F2C6C0D7FE42EA401D3F5953C0C543A</OCTET_STRING>
            </SEQUENCE>
         </SET>
      </SEQUENCE>
   </CONTEXT_0>
</SEQUENCE>


Т.е. не хватает узла <CONTEXT_0> который в целевой ЭП на 327 строке.

Какие поля или методы заполнить в функции createCMS, чтобы генерируемая ЭП соответствовала примеру?
Offline cross  
#3 Оставлено : 11 сентября 2013 г. 18:14:27(UTC)
Анатолий Беляев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Вас интересуют подписанные атрибуты. Пример их добавления есть в файле samples/src/main/java/CMS_samples/CMSSign.java.
Код:

public static byte[] createhashCMS(byte[] data, boolean isExternalDigest,
    PrivateKey[] keys, Certificate[] certs, String path, boolean detached,
    boolean addSignCertV2) throws Exception {


PS: при выкладывании подписи лучше прикреплять файлы а не выкладывать asn1dump ввиде текста - крайне неудобно читать.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline i1211  
#4 Оставлено : 12 сентября 2013 г. 11:55:54(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

Спасибо за ответ. Ну вот, например, идентификатор 1 2 840 113549 1 9 16 2 47, означающий id-aa-signingCertificateV2, как его добавить? В примере не нашел.

Нашел такой класс SigningCertificateV2, а как его проинициализировать правильно?

Отредактировано пользователем 12 сентября 2013 г. 12:24:15(UTC)  | Причина: Не указана

Offline i1211  
#5 Оставлено : 12 сентября 2013 г. 12:12:26(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

И просто странно, почему подписи созданные createCMS, signCMS, createhashCMS не проходят валидацию в csptest -keyset -verfy GOST ? В них нет атрибутов, соответствующих госту?

И вот еще магический идентификатор 2 25 313731 5229867 6461865 , информации о котором я так и не нашел...

Отредактировано пользователем 12 сентября 2013 г. 12:15:36(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#6 Оставлено : 12 сентября 2013 г. 12:19:17(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,962
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Автор: cross Перейти к цитате
Вас интересуют подписанные атрибуты. Пример их добавления есть в файле samples/src/main/java/CMS_samples/CMSSign.java.
Код:

public static byte[] createhashCMS(byte[] data, boolean isExternalDigest,
    PrivateKey[] keys, Certificate[] certs, String path, boolean detached,
    boolean addSignCertV2) throws Exception {


Посмотрите в коде, addSignCertV2 - опция, позволяющая добавить ссылку на сертификат в подписываемые атрибуты.

Отредактировано пользователем 12 сентября 2013 г. 12:19:49(UTC)  | Причина: Не указана

Offline i1211  
#7 Оставлено : 12 сентября 2013 г. 12:33:31(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

Да, спасибо, кажется, мы уже близко к тому, чтобы создать нужную CMS.

не нашел функции с такими параметрами
Автор: afev Перейти к цитате
Автор: cross Перейти к цитате
Вас интересуют подписанные атрибуты. Пример их добавления есть в файле samples/src/main/java/CMS_samples/CMSSign.java.
Код:

public static byte[] createhashCMS(byte[] data, boolean isExternalDigest,
    PrivateKey[] keys, Certificate[] certs, String path, boolean detached,
    boolean addSignCertV2) throws Exception {


Посмотрите в коде, addSignCertV2 - опция, позволяющая добавить ссылку на сертификат в подписываемые атрибуты.


Может быть у меня старые примеры?

То есть если решится вопрос с этой функцией, мне не будет нужно это
Автор: i1211 Перейти к цитате
Спасибо за ответ. Ну вот, например, идентификатор 1 2 840 113549 1 9 16 2 47, означающий id-aa-signingCertificateV2, как его добавить? В примере не нашел.

Нашел такой класс SigningCertificateV2, а как его проинициализировать правильно?


И последний вопрос про
Автор: i1211 Перейти к цитате

И вот еще магический идентификатор 2 25 313731 5229867 6461865 , информации о котором я так и не нашел...


Спасибо за ответы:)

Отредактировано пользователем 12 сентября 2013 г. 12:37:39(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#8 Оставлено : 12 сентября 2013 г. 12:41:19(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,962
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Функция называется createhashCMS(), а addSignCertV2 - ее параметр. Функция находится в классе CMSSign в samples-sources.jar. Если в вашем samples-sources.jar нет такой функции, то скачайте архив jcp 2.0, посмотрите в его samples-sources.jar.
Offline Евгений Афанасьев  
#9 Оставлено : 12 сентября 2013 г. 12:45:47(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,962
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
2 25 313731 5229867 6461865 - возможно, это сгенерированный идентификатор, о нем нам неизвестно.
Offline i1211  
#10 Оставлено : 12 сентября 2013 г. 13:00:54(UTC)
i1211

Статус: Участник

Группы: Участники
Зарегистрирован: 03.09.2013(UTC)
Сообщений: 10
Российская Федерация
Откуда: Татарстан

Спасибо, не посмотрел на параметры функции в вашем сообщении
Автор: afev Перейти к цитате
Автор: cross Перейти к цитате
Вас интересуют подписанные атрибуты. Пример их добавления есть в файле samples/src/main/java/CMS_samples/CMSSign.java.
Код:

public static byte[] createhashCMS(byte[] data, boolean isExternalDigest,
    PrivateKey[] keys, Certificate[] certs, String path, boolean detached,
    boolean addSignCertV2) throws Exception {


Посмотрите в коде, addSignCertV2 - опция, позволяющая добавить ссылку на сертификат в подписываемые атрибуты.

У меня была первая jcp, там её не было, вот и ступил.

Теперь вопросов, кроме этого злополучного 2 25 313731 5229867 6461865 у меня не осталось. Спасибо за ответы.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.