За последние 24 часа нас посетили 22918 программистов и 1238 роботов. Сейчас ищут 764 программиста ...

ЭЦП и сертификаты (парсинг ASN.1)

Тема в разделе "Прочие вопросы по PHP", создана пользователем kot_k_k, 30 май 2016.

  1. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Добрый день.
    есть связка xml + ЭЦП (счет-фактура и подпись)
    в php есть функция работы с сертификатами - openssl_x509_parse().
    но требуется вытащить данные не из сертификата, а из электронной подписи.
    в подписи содержится сертификат подписанта, сама подпись, штамп времени ....

    вопрос - как из подписи вытащить информацию о сертификате.
    может кто-то копал эту тему или хотя бы направление - куда искать.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Есть пример этой подписи в которой всё есть?
     
    metadon нравится это.
  3. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    подписей вагон и маленькая тележка.
    если его переименовать в *.p7b - винда спокойно раскрывает сертификат.
     

    Вложения:

    • test.zip
      Размер файла:
      1,6 КБ
      Просмотров:
      8
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    что-то как P7B не определяет
     
    metadon нравится это.
  5. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    странно , я просто переименовал в test.p7b - он мне сразу показал иконку сертификата, может потому, что у меня стоит КриптоПро ? зараза
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Видимо, формат не понятен
     
    metadon нравится это.
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    тебе как я понял нужен pem формат файла.
    --- Добавлено ---
    Слушай, а у тебя точно файл не битый нормальный p7b файл? o_O
     
  8. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    да это действующая подпись и реального документа.
    скорее всего формат не соответсвует тому что хочет php.
    даже если ее конвертить base64.
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Да нет. Разобраться надо что за х.
    А не через php ты как получаешь нужную информацию? o_O
     
  10. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    никак, ее никто не трогал, а теперь возникла нужда. вот и изгаляюсь.
    хоте бери и парсер пиши.
     
  11. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну тогда тогда извиняй) Мне не охота время тратить на гугление) Удачи:cool:
     
  12. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    продолжу. с грехом пополам что-то прочел (я про файл).

    $rr = 'openssl asn1parse -inform DER -in ko2.p7b' ;
    $rr = shell_exec($rr);

    получил мегастроку.

    но появился новый вопрос: есть такой "тип поля" в сертификате BMPSTRING - он не распознается этим механиизмом.

    содержимое файла в hex виде по этому смещению этого сегмента очень похоже на UTF-16.
    преобразовал получил строку
    \u1e03\u0428\u041f\u0435\u0442\u0440\u043e\u0032\u0420\u041f\u0435\u0442\u0040\u0420\u041f\u0435\u0442\u0440\u043e\u0432\u0000
    онлайн-декодер выдал
    ḃШПетро2РПет@РПетров
    похоже на правду - но показывать такое низя.

    вопрос - как и чем правильно распознать/преобразовать строчку?
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Ты говорил что у тебя этот сертификат открывается, так вот, как там эта строка в нормальном виде?
     
    metadon нравится это.
  14. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    виндовыми методами
    при помощи sertmgr

    SN = Петров
    G = Петр Петрович
    T = Должность тест
    STREET = Адрес тест
    CN = Петров Петр Петрович
    OU = Отдел тест
    O = Организация тест
    L = Санкт-Петербург
    S = 78 г. Санкт-Петербург
    C = RU
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Если его открывает windows, там нет информации о формате и тому подобному?
     
    metadon нравится это.
  16. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    там дофига инфы. но по ходу этого нет.
    формат этой подписи DER. это экспериментально определил.
    но почему-то об него x509 спотыкается
    openssl x509 -inform DER -in ko2.p7b

    валит ошибку.
     
  17. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    тот тестовый файл, более менее хорошо в utf-8 отображается
    PHP:
    1. <?php
    2. header('Content-Type: text/html; charset=utf-8');
    3. echo file_get_contents("test.bin");
    начало по HEX совпадает с x.509 из файла примера
    https://habrahabr.ru/post/194664/

    ASN.1 decoder парсит файл на ура

    Код (Text):
    1. SEQUENCE(2 elem)
    2. OBJECT IDENTIFIER1.2.840.113549.1.7.2
    3. [0](1 elem)
    4. SEQUENCE(5 elem)
    5. INTEGER1
    6. SET(1 elem)
    7. SEQUENCE(2 elem)
    8. OBJECT IDENTIFIER1.2.643.2.2.9
    9. NULL
    10. SEQUENCE(1 elem)
    11. OBJECT IDENTIFIER1.2.840.113549.1.7.1
    12. [0](1 elem)
    13. SEQUENCE(3 elem)
    14. SEQUENCE(9 elem)
    15. [0](1 elem)
    16. INTEGER2
    17. INTEGER(121 bit) 2417350724085586414878846003325763586
    18. SEQUENCE(2 elem)
    19. OBJECT IDENTIFIER1.2.643.2.2.3
    20. NULL
    21. SEQUENCE(9 elem)
    22. SET(1 elem)
    23. SEQUENCE(2 elem)
    24. OBJECT IDENTIFIER2.5.4.9
    25. UTF8StringУлица Циолковского дом 4
    26. SET(1 elem)
    27. SEQUENCE(2 elem)
    28. OBJECT IDENTIFIER1.2.643.100.1
    29. NumericString1024001434049
    30. SET(1 elem)
    31. SEQUENCE(2 elem)
    32. OBJECT IDENTIFIER1.2.643.3.131.1.1
    33. NumericString004029017981
    34. SET(1 elem)
    35. SEQUENCE(2 elem)
    36. OBJECT IDENTIFIER2.5.4.6
    37. PrintableStringRU
    38. SET(1 elem)
    39. SEQUENCE(2 elem)
    40. OBJECT IDENTIFIER2.5.4.7
    41. UTF8StringКалуга
    42. SET(1 elem)
    43. SEQUENCE(2 elem)
    44. OBJECT IDENTIFIER2.5.4.8
    45. UTF8String40 Калужская область
    46. SET(1 elem)
    47. SEQUENCE(2 elem)
    48. OBJECT IDENTIFIER1.2.840.113549.1.9.1
    49. IA5Stringca@astralnalog.ru
    50. SET(1 elem)
    51. SEQUENCE(2 elem)
    52. OBJECT IDENTIFIER2.5.4.10
    53. UTF8StringЗАО Калуга Астрал
    54. SET(1 elem)
    55. SEQUENCE(2 elem)
    56. OBJECT IDENTIFIER2.5.4.3
    57. UTF8StringЗАО Калуга Астрал (УЦ 889)
    58. SEQUENCE(2 elem)
    59. UTCTime2016-04-07 06:35:11 UTC
    60. UTCTime2017-04-07 06:35:11 UTC
    61. SEQUENCE(12 elem)
    62. SET(1 elem)
    63. SEQUENCE(2 elem)
    64. OBJECT IDENTIFIER1.2.643.3.131.1.1
    65. NumericString009999987946
    66. SET(1 elem)
    67. SEQUENCE(2 elem)
    68. OBJECT IDENTIFIER1.2.643.100.3
    69. NumericString52403631442
    70. SET(1 elem)
    71. SEQUENCE(2 elem)
    72. OBJECT IDENTIFIER1.2.643.100.1
    73. NumericString4176212167039
    74. SET(1 elem)
    75. SEQUENCE(2 elem)
    76. OBJECT IDENTIFIER2.5.4.12
    77. UTF8Stringсотрудник
    78. SET(1 elem)
    79. SEQUENCE(2 elem)
    80. OBJECT IDENTIFIER2.5.4.10
    81. UTF8StringООО«Торговый дом «Онега»_тест_
    82. SET(1 elem)
    83. SEQUENCE(2 elem)
    84. OBJECT IDENTIFIER2.5.4.7
    85. UTF8Stringг. Москва
    86. SET(1 elem)
    87. SEQUENCE(2 elem)
    88. OBJECT IDENTIFIER2.5.4.8
    89. UTF8String77 г. Москва
    90. SET(1 elem)
    91. SEQUENCE(2 elem)
    92. OBJECT IDENTIFIER2.5.4.6
    93. PrintableStringRU
    94. SET(1 elem)
    95. SEQUENCE(2 elem)
    96. OBJECT IDENTIFIER2.5.4.42
    97. UTF8StringОнег Тестович
    98. SET(1 elem)
    99. SEQUENCE(2 elem)
    100. OBJECT IDENTIFIER2.5.4.4
    101. UTF8StringТестов
    102. SET(1 elem)
    103. SEQUENCE(2 elem)
    104. OBJECT IDENTIFIER2.5.4.3
    105. UTF8StringТестов Онег Тестович
    106. SET(1 elem)
    107. SEQUENCE(2 elem)
    108. OBJECT IDENTIFIER2.5.4.9
    109. UTF8StringПриветливая 1
    110. SEQUENCE(2 elem)
    111. SEQUENCE(2 elem)
    112. OBJECT IDENTIFIER1.2.643.2.2.19
    113. SEQUENCE(2 elem)
    114. OBJECT IDENTIFIER1.2.643.2.2.36.0
    115. OBJECT IDENTIFIER1.2.643.2.2.30.1
    116. BIT STRING(1 elem)
    117. OCTET STRING(64 byte) 2B1AD908B54809D073649AC4A30011D2F1C4065D0F11A53E09205BAC606E516A1738CF…
    118. [1](9 byte) 003033373930303032
    119. [3](1 elem)
    120. SEQUENCE(11 elem)
    121. SEQUENCE(3 elem)
    122. OBJECT IDENTIFIER2.5.29.15
    123. BOOLEANtrue
    124. OCTET STRING(1 elem)
    125. BIT STRING(4 bit) 1111
    126. SEQUENCE(2 elem)
    127. OBJECT IDENTIFIER1.2.840.113549.1.9.15
    128. OCTET STRING(1 elem)
    129. SEQUENCE(1 elem)
    130. SEQUENCE(1 elem)
    131. OBJECT IDENTIFIER1.2.643.2.2.21
    132. SEQUENCE(2 elem)
    133. OBJECT IDENTIFIER2.5.29.37
    134. OCTET STRING(1 elem)
    135. SEQUENCE(2 elem)
    136. OBJECT IDENTIFIER1.3.6.1.5.5.7.3.2
    137. OBJECT IDENTIFIER1.3.6.1.5.5.7.3.4
    138. SEQUENCE(2 elem)
    139. OBJECT IDENTIFIER2.5.29.32
    140. OCTET STRING(1 elem)
    141. SEQUENCE(2 elem)
    142. SEQUENCE(1 elem)
    143. OBJECT IDENTIFIER1.2.643.100.113.1
    144. SEQUENCE(1 elem)
    145. OBJECT IDENTIFIER1.2.643.100.113.2
    146. SEQUENCE(2 elem)
    147. OBJECT IDENTIFIER1.2.643.100.111
    148. OCTET STRING(1 elem)
    149. UTF8String"КриптоПро CSP" (версия 3.6)
    150. SEQUENCE(2 elem)
    151. OBJECT IDENTIFIER2.5.29.14
    152. OCTET STRING(1 elem)
    153. OCTET STRING(20 byte) F8ADAB4CA4577C811AE20C3C94C93C3E06336C1A
    154. SEQUENCE(3 elem)
    155. OBJECT IDENTIFIER2.5.29.19
    156. BOOLEANtrue
    157. OCTET STRING(1 elem)
    158. SEQUENCE(0 elem)
    159. SEQUENCE(2 elem)
    160. OBJECT IDENTIFIER1.2.643.100.112
    161. OCTET STRING(1 elem)
    162. SEQUENCE(4 elem)
    163. UTF8String"Средство криптографической защиты информации ViPNet CSP 4.2"
    164. UTF8StringПрограммный комплекс ViPNet Удостоверяющий центр 4
    165. UTF8StringСФ/124-2860 от 15 марта 2016
    166. UTF8StringСФ/128-2324 от 25 апреля 2014
    167. SEQUENCE(2 elem)
    168. OBJECT IDENTIFIER1.3.6.1.5.5.7.1.1
    169. OCTET STRING(1 elem)
    170. SEQUENCE(2 elem)
    171. SEQUENCE(2 elem)
    172. OBJECT IDENTIFIER1.3.6.1.5.5.7.48.1
    173. [6]http://ocsp.keydisk.ru/OCSP889-2015/OCSP.srf
    174. SEQUENCE(2 elem)
    175. OBJECT IDENTIFIER1.3.6.1.5.5.7.48.2
    176. [6]http://www.dp.keydisk.ru/root/889/astral-889-2015.cer
    177. SEQUENCE(2 elem)
    178. OBJECT IDENTIFIER2.5.29.31
    179. OCTET STRING(1 elem)
    180. SEQUENCE(2 elem)
    181. SEQUENCE(1 elem)
    182. [0](1 elem)
    183. [0](1 elem)
    184. [6]http://www.dp-tender.keydisk.ru/cdp/889/astral-889-2015.crl
    185. SEQUENCE(1 elem)
    186. [0](1 elem)
    187. [0](1 elem)
    188. [6]http://www.dp.keydisk.ru/cdp/889/astral-889-2015.crl
    189. SEQUENCE(2 elem)
    190. OBJECT IDENTIFIER2.5.29.35
    191. OCTET STRING(1 elem)
    192. SEQUENCE(3 elem)
    193. [0](20 byte) 7EDDC69F3D3F107BA9DBF29542930BDC5C369AB8
    194. [1](1 elem)
    195. [4](1 elem)
    196. SEQUENCE(9 elem)
    197. SET(1 elem)
    198. SEQUENCE(2 elem)
    199. OBJECT IDENTIFIER2.5.4.9
    200. UTF8StringУлица Циолковского дом 4
    201. SET(1 elem)
    202. SEQUENCE(2 elem)
    203. OBJECT IDENTIFIER1.2.643.100.1
    204. NumericString1024001434049
    205. SET(1 elem)
    206. SEQUENCE(2 elem)
    207. OBJECT IDENTIFIER1.2.643.3.131.1.1
    208. NumericString004029017981
    209. SET(1 elem)
    210. SEQUENCE(2 elem)
    211. OBJECT IDENTIFIER2.5.4.6
    212. PrintableStringRU
    213. SET(1 elem)
    214. SEQUENCE(2 elem)
    215. OBJECT IDENTIFIER2.5.4.7
    216. UTF8StringКалуга
    217. SET(1 elem)
    218. SEQUENCE(2 elem)
    219. OBJECT IDENTIFIER2.5.4.8
    220. UTF8String40 Калужская область
    221. SET(1 elem)
    222. SEQUENCE(2 elem)
    223. OBJECT IDENTIFIER1.2.840.113549.1.9.1
    224. IA5Stringca@astralnalog.ru
    225. SET(1 elem)
    226. SEQUENCE(2 elem)
    227. OBJECT IDENTIFIER2.5.4.10
    228. UTF8StringЗАО Калуга Астрал
    229. SET(1 elem)
    230. SEQUENCE(2 elem)
    231. OBJECT IDENTIFIER2.5.4.3
    232. UTF8StringЗАО Калуга Астрал (УЦ 889)
    233. [2](16 byte) 01D0D588A8ADB7D000000CFB00000002
    234. SEQUENCE(2 elem)
    235. OBJECT IDENTIFIER1.2.643.2.2.3
    236. NULL
    237. BIT STRING(512 bit) 0101100000111010000100001110110000000100100100101100110100011001110011…
    238. SET(1 elem)
    239. SEQUENCE(6 elem)
    240. INTEGER1
    241. SEQUENCE(2 elem)
    242. SEQUENCE(9 elem)
    243. SET(1 elem)
    244. SEQUENCE(2 elem)
    245. OBJECT IDENTIFIER2.5.4.9
    246. UTF8StringУлица Циолковского дом 4
    247. SET(1 elem)
    248. SEQUENCE(2 elem)
    249. OBJECT IDENTIFIER1.2.643.100.1
    250. NumericString1024001434049
    251. SET(1 elem)
    252. SEQUENCE(2 elem)
    253. OBJECT IDENTIFIER1.2.643.3.131.1.1
    254. NumericString004029017981
    255. SET(1 elem)
    256. SEQUENCE(2 elem)
    257. OBJECT IDENTIFIER2.5.4.6
    258. PrintableStringRU
    259. SET(1 elem)
    260. SEQUENCE(2 elem)
    261. OBJECT IDENTIFIER2.5.4.7
    262. UTF8StringКалуга
    263. SET(1 elem)
    264. SEQUENCE(2 elem)
    265. OBJECT IDENTIFIER2.5.4.8
    266. UTF8String40 Калужская область
    267. SET(1 elem)
    268. SEQUENCE(2 elem)
    269. OBJECT IDENTIFIER1.2.840.113549.1.9.1
    270. IA5Stringca@astralnalog.ru
    271. SET(1 elem)
    272. SEQUENCE(2 elem)
    273. OBJECT IDENTIFIER2.5.4.10
    274. UTF8StringЗАО Калуга Астрал
    275. SET(1 elem)
    276. SEQUENCE(2 elem)
    277. OBJECT IDENTIFIER2.5.4.3
    278. UTF8StringЗАО Калуга Астрал (УЦ 889)
    279. INTEGER(121 bit) 2417350724085586414878846003325763586
    280. SEQUENCE(2 elem)
    281. OBJECT IDENTIFIER1.2.643.2.2.9
    282. NULL
    283. [0](4 elem)
    284. SEQUENCE(2 elem)
    285. OBJECT IDENTIFIER1.2.840.113549.1.9.3
    286. SET(1 elem)
    287. OBJECT IDENTIFIER1.2.840.113549.1.7.1
    288. SEQUENCE(2 elem)
    289. OBJECT IDENTIFIER1.2.840.113549.1.9.5
    290. SET(1 elem)
    291. UTCTime2016-05-30 10:09:00 UTC
    292. SEQUENCE(2 elem)
    293. OBJECT IDENTIFIER1.2.840.113549.1.9.4
    294. SET(1 elem)
    295. OCTET STRING(32 byte) 92040468BDCD872023F6AC75DF6EC7D38DB6868A72957692BA964DC3627CF4CA
    296. SEQUENCE(2 elem)
    297. OBJECT IDENTIFIER1.2.840.113549.1.9.16.2.47
    298. SET(1 elem)
    299. SEQUENCE(1 elem)
    300. SEQUENCE(1 elem)
    301. SEQUENCE(3 elem)
    302. SEQUENCE(1 elem)
    303. OBJECT IDENTIFIER1.2.643.2.2.9
    304. OCTET STRING(32 byte) 46A32C817F65E65311D49141A1AB6444B495060B1590D2D6EAC6407F827DE243
    305. SEQUENCE(2 elem)
    306. SEQUENCE(1 elem)
    307. [4](1 elem)
    308. SEQUENCE(9 elem)
    309. SET(1 elem)
    310. SEQUENCE(2 elem)
    311. OBJECT IDENTIFIER2.5.4.9
    312. UTF8StringУлица Циолковского дом 4
    313. SET(1 elem)
    314. SEQUENCE(2 elem)
    315. OBJECT IDENTIFIER1.2.643.100.1
    316. NumericString1024001434049
    317. SET(1 elem)
    318. SEQUENCE(2 elem)
    319. OBJECT IDENTIFIER1.2.643.3.131.1.1
    320. NumericString004029017981
    321. SET(1 elem)
    322. SEQUENCE(2 elem)
    323. OBJECT IDENTIFIER2.5.4.6
    324. PrintableStringRU
    325. SET(1 elem)
    326. SEQUENCE(2 elem)
    327. OBJECT IDENTIFIER2.5.4.7
    328. UTF8StringКалуга
    329. SET(1 elem)
    330. SEQUENCE(2 elem)
    331. OBJECT IDENTIFIER2.5.4.8
    332. UTF8String40 Калужская область
    333. SET(1 elem)
    334. SEQUENCE(2 elem)
    335. OBJECT IDENTIFIER1.2.840.113549.1.9.1
    336. IA5Stringca@astralnalog.ru
    337. SET(1 elem)
    338. SEQUENCE(2 elem)
    339. OBJECT IDENTIFIER2.5.4.10
    340. UTF8StringЗАО Калуга Астрал
    341. SET(1 elem)
    342. SEQUENCE(2 elem)
    343. OBJECT IDENTIFIER2.5.4.3
    344. UTF8StringЗАО Калуга Астрал (УЦ 889)
    345. INTEGER(121 bit) 2417350724085586414878846003325763586
    346. SEQUENCE(2 elem)
    347. OBJECT IDENTIFIER1.2.643.2.2.19
    348. NULL
    349. OCTET STRING(64 byte) 343BF966260EEBE11799445A0EC3EB7E53BDFD30203F7534CF9D7BB182B71CC8891B44…

    https://lapo.it/asn1js/
     
    metadon нравится это.
  18. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    в том файле, новерно BOM мешает.
    но это все равно проблемы не решает
    во без BOM - и все равно тот же результат
     

    Вложения:

    • ko2.zip
      Размер файла:
      1,6 КБ
      Просмотров:
      1
  19. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    asn1js легко парсит и этот ko2p7b файл
     
    metadon нравится это.
  20. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    дав но строку которая содержит имена фамилии она не показыввает
    вот он ее выводит
    SET 860:d=8 hl=2 l= 47 cons: SEQUENCE 862:d=9 hl=2 l= 3 prim: OBJECT :commonName 867:d=9 hl=2 l= 40 prim: BMPSTRING
    и все - больше получить никак?
    или у тебя открыло по другому?
    --- Добавлено ---
    он съедает не раскрывает BMPSTRING
    ка например раскрывает
    SET 324:d=8 hl=2 l= 36 cons: SEQUENCE 326:d=9 hl=2 l= 3 prim: OBJECT :localityName 331:d=9 hl=2 l= 29 prim: UTF8STRING :Санкт-Петербург
     
  21. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    metadon нравится это.
  22. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    спасибо, на это я в соих поисках еще не натукался.
     
  23. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    библиотека хорошоая, но она требует 5.6 версии PHP, а на серваках более старая.
    и никто не будет обновлять. зараза.
     
  24. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    можно переписать её, или поискать парсер под linux или что у вас там и запускать через exec
     
    metadon нравится это.
  25. kot_k_k

    kot_k_k Активный пользователь

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    https://www.versioneye.com/php/fgrosse:phpasn1/1.3.1

    вот если кому надо версия - "php": ">=5.3.0",

    будем шаманить.
    --- Добавлено ---
    ха - оказалось была ошибка в декодировании BMPSTING (нашел в одном месте пояснение)

    18:d=1 hl=3 l=141 prim: BIT STRING
    18 is the offset from the beginning, d=1 is the depth and hl=3 is the header length.

    мой случай :
    1025:d=9 hl=2 l= 12 prim: BMPSTRING
    это код в utf-16, прямая последовательность (младший-старший) и надо вносить смещение на величину hl = 2 .

    с одной стороны как бэ решает проблему, но конечно через библиотеку может быть лучше.

    DENIS спасибо за участие.
     
    denis01 нравится это.