Atom Лента - Форум КриптоПро - Тема:Как нам все-таки начать использовать серверную часть ваших программ? - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Kaknamvse-takinachat'ispol'zovat'servernujuchast'vashikhprogramm?-10:1Copyright 2024 Форум КриптоПро2024-03-29T03:19:16Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.rutarzan_pashahttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50326&name=tarzan_pashatarzan_pashahttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50326&name=tarzan_pashaAlexwhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=22390&name=AlexwAlexwhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=22390&name=AlexwVic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147Анатолий Беляевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=2008&name=Анатолий БеляевVic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147Vic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147Vic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147Vic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147Vic589632147https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=42812&name=Vic589632147YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid96408:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Alexw <a href="/forum2/default.aspx?g=posts&m=79314#post79314"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /></div></div><br /><br />Можете написать / выложить рабочий пример проверки ЭП с помощью php-расширения? А то даже этот единственный тут совет по php-коду не помогает оживить пример <a rel="nofollow" href="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html" title="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html">http://cpdn.cryptopro.ru...es/phpcades-samples.html</a> <br />Скрипт не может создать подпись: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">The configuration data or license for this product is corrupt or not present. (0x8007064A)TEST FAIL</code></pre>
</div></div><br />а при проверке уже готовых Base64-данных (полученных с помощью <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)">https://www.cryptopro.ru...es/demopage/simple.html)</a> стабильно выдает <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">Invalid Signature. (0x80090006)TEST FAIL</code></pre>
</div></div><br />причем эти же данные, если их поместить в файл (sign.txt.sgn), консольная утилита проверяет <em>успешно</em> командой: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">/opt/cprocsp/bin/amd64/cryptcp -vsignf -dir ~ sign.txt
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN: <...>
Valid from 09.08.2016 06:07:00 to 09.11.2017 06:17:00
Certificate chains are checked.
Folder './':
sign.txt... Signature verifying...
Signature's verified.
[ReturnCode: 0]</code></pre>
</div></div><br /><br /><em>Вообще, часто на клиенте создают подпись с помощью КриптоПро ЭЦП Browser plug-in, а серверу нужно уметь проверять то, что пришло с клиента. Т.е. нужен хотя бы рабочий пример проверки ЭП вида: <br />----- BEGIN PKCS7 SIGNED -----<br />MIIaSwYJKoZIhvcNAQcCoIIaPDCCGjgCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG<br /><...><br />----- END PKCS7 SIGNED -----<br />т.е. в формате PKCS7.<br /></em></div></div><br /><br />здравствуйте! скажите пожалуйста вам удалось все-таки решить проблему проверки на стороне Сервера при помощи php ?</td></tr></table>2018-10-18T20:01:56+03:002018-10-18T20:01:56+03:00tarzan_pasha<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Alexw <a href="/forum2/default.aspx?g=posts&m=79314#post79314"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /></div></div><br /><br />Можете написать / выложить рабочий пример проверки ЭП с помощью php-расширения? А то даже этот единственный тут совет по php-коду не помогает оживить пример <a rel="nofollow" href="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html" title="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html">http://cpdn.cryptopro.ru...es/phpcades-samples.html</a> <br />Скрипт не может создать подпись: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">The configuration data or license for this product is corrupt or not present. (0x8007064A)TEST FAIL</code></pre>
</div></div><br />а при проверке уже готовых Base64-данных (полученных с помощью <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)">https://www.cryptopro.ru...es/demopage/simple.html)</a> стабильно выдает <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">Invalid Signature. (0x80090006)TEST FAIL</code></pre>
</div></div><br />причем эти же данные, если их поместить в файл (sign.txt.sgn), консольная утилита проверяет <em>успешно</em> командой: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">/opt/cprocsp/bin/amd64/cryptcp -vsignf -dir ~ sign.txt
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN: <...>
Valid from 09.08.2016 06:07:00 to 09.11.2017 06:17:00
Certificate chains are checked.
Folder './':
sign.txt... Signature verifying...
Signature's verified.
[ReturnCode: 0]</code></pre>
</div></div><br /><br /><em>Вообще, часто на клиенте создают подпись с помощью КриптоПро ЭЦП Browser plug-in, а серверу нужно уметь проверять то, что пришло с клиента. Т.е. нужен хотя бы рабочий пример проверки ЭП вида: <br />----- BEGIN PKCS7 SIGNED -----<br />MIIaSwYJKoZIhvcNAQcCoIIaPDCCGjgCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG<br /><...><br />----- END PKCS7 SIGNED -----<br />т.е. в формате PKCS7.<br /></em></div></div><br /><br />здравствуйте! скажите пожалуйста вам удалось все-таки решить проблему проверки на стороне Сервера при помощи php ?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid79314:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /></div></div><br /><br />Можете написать / выложить рабочий пример проверки ЭП с помощью php-расширения? А то даже этот единственный тут совет по php-коду не помогает оживить пример <a rel="nofollow" href="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html" title="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html">http://cpdn.cryptopro.ru...es/phpcades-samples.html</a> <br />Скрипт не может создать подпись: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">The configuration data or license for this product is corrupt or not present. (0x8007064A)TEST FAIL</code></pre>
</div></div><br />а при проверке уже готовых Base64-данных (полученных с помощью <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)">https://www.cryptopro.ru...es/demopage/simple.html)</a> стабильно выдает <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">Invalid Signature. (0x80090006)TEST FAIL</code></pre>
</div></div><br />причем эти же данные, если их поместить в файл (sign.txt.sgn), консольная утилита проверяет <em>успешно</em> командой: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">/opt/cprocsp/bin/amd64/cryptcp -vsignf -dir ~ sign.txt
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN: <...>
Valid from 09.08.2016 06:07:00 to 09.11.2017 06:17:00
Certificate chains are checked.
Folder './':
sign.txt... Signature verifying...
Signature's verified.
[ReturnCode: 0]</code></pre>
</div></div><br /><br /><em>Вообще, часто на клиенте создают подпись с помощью КриптоПро ЭЦП Browser plug-in, а серверу нужно уметь проверять то, что пришло с клиента. Т.е. нужен хотя бы рабочий пример проверки ЭП вида: <br />----- BEGIN PKCS7 SIGNED -----<br />MIIaSwYJKoZIhvcNAQcCoIIaPDCCGjgCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG<br /><...><br />----- END PKCS7 SIGNED -----<br />т.е. в формате PKCS7.<br /></em></td></tr></table>2017-04-20T18:58:23+03:002017-04-20T18:58:23+03:00Alexw<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /></div></div><br /><br />Можете написать / выложить рабочий пример проверки ЭП с помощью php-расширения? А то даже этот единственный тут совет по php-коду не помогает оживить пример <a rel="nofollow" href="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html" title="http://cpdn.cryptopro.ru/content/cades/phpcades-samples.html">http://cpdn.cryptopro.ru...es/phpcades-samples.html</a> <br />Скрипт не может создать подпись: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">The configuration data or license for this product is corrupt or not present. (0x8007064A)TEST FAIL</code></pre>
</div></div><br />а при проверке уже готовых Base64-данных (полученных с помощью <a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)" title="https://www.cryptopro.ru/sites/default/files/products/cades/demopage/simple.html)">https://www.cryptopro.ru...es/demopage/simple.html)</a> стабильно выдает <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">Invalid Signature. (0x80090006)TEST FAIL</code></pre>
</div></div><br />причем эти же данные, если их поместить в файл (sign.txt.sgn), консольная утилита проверяет <em>успешно</em> командой: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">/opt/cprocsp/bin/amd64/cryptcp -vsignf -dir ~ sign.txt
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN: <...>
Valid from 09.08.2016 06:07:00 to 09.11.2017 06:17:00
Certificate chains are checked.
Folder './':
sign.txt... Signature verifying...
Signature's verified.
[ReturnCode: 0]</code></pre>
</div></div><br /><br /><em>Вообще, часто на клиенте создают подпись с помощью КриптоПро ЭЦП Browser plug-in, а серверу нужно уметь проверять то, что пришло с клиента. Т.е. нужен хотя бы рабочий пример проверки ЭП вида: <br />----- BEGIN PKCS7 SIGNED -----<br />MIIaSwYJKoZIhvcNAQcCoIIaPDCCGjgCAQExDDAKBgYqhQMCAgkFADALBgkqhkiG<br /><...><br />----- END PKCS7 SIGNED -----<br />т.е. в формате PKCS7.<br /></em></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid79077:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Vic589632147 <a href="/forum2/default.aspx?g=posts&m=72750#post72750"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>команда eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix<br />выдает ошибку<br />/usr/bin/ld: cannot find -lcppcades<br />Как исправить эту ошибку?</div></div><br /><br />Попробуйте сделать симлинки в папку с библиотеками программ (/usr/lib/) на файлы библиотеки КриптоПРО libcppcades (из /opt/cprocsp/lib/amd64/). <br /><br /></td></tr></table>2017-04-13T18:18:54+03:002017-04-13T18:18:54+03:00Alexw<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Vic589632147 <a href="/forum2/default.aspx?g=posts&m=72750#post72750"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>команда eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix<br />выдает ошибку<br />/usr/bin/ld: cannot find -lcppcades<br />Как исправить эту ошибку?</div></div><br /><br />Попробуйте сделать симлинки в папку с библиотеками программ (/usr/lib/) на файлы библиотеки КриптоПРО libcppcades (из /opt/cprocsp/lib/amd64/). <br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72811:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />PS: Ответы на форуме разработчики дают по мере появления свободного времени. Более оперативная консультация ведется на портале support.cryptopro.ru при наличии соответствующих сертификатов технической поддержки.<br /></div></div><br /><br />Это понятно. Но вот выше я спрашивал - работает ли наша лицензия на версию 3.6?<br />Если да, то я готов задавать вопросы там.<br /><br /><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />+ Судя по выводу certmgr в 4 ответе вы установили корневой сертификат в хранилище предназначенное для сертификатов пользователей, а нужно было в хранилище root.<br /></div></div><br /><br />И вот тут как раз можно было бы дать ссылку на страничку, где написано, как это сделать или просто написать нужную команду.<br />Вы ведь уже выкроили несколько минут времени и дошли сюда.<br />А то теперь придется до следующей недели ждать ответа :(<br /><br /><br /><br /><br /></td></tr></table>2016-09-16T15:52:20+03:002016-09-16T15:52:20+03:00Vic589632147<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />PS: Ответы на форуме разработчики дают по мере появления свободного времени. Более оперативная консультация ведется на портале support.cryptopro.ru при наличии соответствующих сертификатов технической поддержки.<br /></div></div><br /><br />Это понятно. Но вот выше я спрашивал - работает ли наша лицензия на версию 3.6?<br />Если да, то я готов задавать вопросы там.<br /><br /><div class="quote"><span class="quotetitle">Автор: cross <a href="/forum2/default.aspx?g=posts&m=72807#post72807"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote><br />+ Судя по выводу certmgr в 4 ответе вы установили корневой сертификат в хранилище предназначенное для сертификатов пользователей, а нужно было в хранилище root.<br /></div></div><br /><br />И вот тут как раз можно было бы дать ссылку на страничку, где написано, как это сделать или просто написать нужную команду.<br />Вы ведь уже выкроили несколько минут времени и дошли сюда.<br />А то теперь придется до следующей недели ждать ответа :(<br /><br /><br /><br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72807:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /> <br />+ Судя по выводу certmgr в 4 ответе вы установили корневой сертификат в хранилище предназначенное для сертификатов пользователей, а нужно было в хранилище root.<br /><br />PS: Ответы на форуме разработчики дают по мере появления свободного времени. Более оперативная консультация ведется на портале support.cryptopro.ru при наличии соответствующих сертификатов технической поддержки. </td></tr></table>2016-09-16T14:34:48+03:002016-09-16T14:34:48+03:00Анатолий Беляев<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Цитата:</span><blockquote>function SetupStore($location, $name, $mode)<br />{<br />$store = new CPStore();<br />return $store->Open($location, $name, $mode);<br />}<br /></div></div><br />вот тут надо заменить return $store->Open($location, $name, $mode);<br />на <div class="quote"><span class="quotetitle">Цитата:</span><blockquote>$store->Open($location, $name, $mode); return $store;</div></div><br />Обьекты и интерфейс полностью скопированы с обьектов CADESCOM ( <a rel="nofollow" href="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html" title="http://cpdn.cryptopro.ru/default.asp?url=content/cades/cadescom.html">http://cpdn.cryptopro.ru...tent/cades/cadescom.html</a> )<br />Отдельной документации на расширение нет. Детали методов всегда можно подсмотреть в исходниках расширения.<br /> <br />+ Судя по выводу certmgr в 4 ответе вы установили корневой сертификат в хранилище предназначенное для сертификатов пользователей, а нужно было в хранилище root.<br /><br />PS: Ответы на форуме разработчики дают по мере появления свободного времени. Более оперативная консультация ведется на портале support.cryptopro.ru при наличии соответствующих сертификатов технической поддержки. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72802:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer" width="100%"><tr><td>С помощью костыля, описанного выше, соединили php с вашим расширением.<br /><br />Попытка запустить ваш тестовый файл провалилась:<br /><br />$ php -f /opt/cprocsp/src/phpcades/test_extension.php <br />PHP Fatal error: Call to a member function get_Certificates() on a non-object in /opt/cprocsp/src/phpcades/test_extension.php on line 12<br /><br /><br />Вот код файла:<br />----------------------------------------- начало php кода -----------------------------------------<br /><?php<br />//Вспомогательные функции предварительной инициализации<br />function SetupStore($location, $name, $mode)<br />{<br /> $store = new CPStore();<br /> return $store->Open($location, $name, $mode);<br />}<br /><br />function SetupCertificates($location, $name, $mode)<br />{<br /> $store = SetupStore($location, $name, $mode);<br /> $certs = $store->get_Certificates();<br /> return $certs;<br /><br />}<br /><br />function SetupCertificate($location, $name, $mode,<br /> $find_type, $query, $valid_only,<br /> $number)<br />{<br /> $certs = SetupCertificates($location, $name, $mode);<br /> if($find_type != NULL)<br /> {<br /> $certs = $certs->Find($find_type, $query, $valid_only);<br /> return $certs->Item($number);<br /> }<br /> else<br /> {<br /> $cert = $certs->Item($number);<br /> return $cert;<br /> }<br />}<br /><br />function test_CPSignedData_Sign_Verify()<br />{<br /> try{<br /> $content = "test content";<br /> $address = "http://testca.cryptopro.ru/tsp/tsp.srf";<br /> $cert = SetupCertificate(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY,<br /> CERTIFICATE_FIND_SUBJECT_NAME, "test", 0,<br /> 1);<br /><br /> if(!$cert)<br /> return "Certificate not found";<br /><br /> $signer = new CPSigner();<br /> $signer->set_TSAAddress($address);<br /> $signer->set_Certificate($cert);<br /><br /> $sd = new CPSignedData();<br /> $sd->set_Content($content);<br /><br /> $sm = $sd->Sign($signer, 0, STRING_TO_UCS2LE);<br /> printf("Signature is:\n");<br /> printf($sm);<br /> printf("\n");<br /> $sd->Verify($sm, 0, VERIFY_SIGNATURE_ONLY);<br /> return 1;<br /> }catch(Exception $e)<br /> {<br /> printf($e->getMessage());<br /> }<br />}<br /><br />if(test_CPSignedData_Sign_Verify() == 1)<br />{<br /> printf("TEST OK\n");<br />}else<br />{<br /> printf("TEST FAIL\n");<br />}<br /><br />?><br /><br /><br />----------------------------------------- окончание php кода -----------------------------------------<br /><br /><br />Скажите, что в нем поправить, чтобы мы могли удостовериться, что расширение php работает?<br />Где посмотреть документацию на объекты, их методы ?<br /><br /></td></tr></table>2016-09-16T13:11:38+03:002016-09-16T13:11:38+03:00Vic589632147<table class="content postContainer" width="100%"><tr><td>С помощью костыля, описанного выше, соединили php с вашим расширением.<br /><br />Попытка запустить ваш тестовый файл провалилась:<br /><br />$ php -f /opt/cprocsp/src/phpcades/test_extension.php <br />PHP Fatal error: Call to a member function get_Certificates() on a non-object in /opt/cprocsp/src/phpcades/test_extension.php on line 12<br /><br /><br />Вот код файла:<br />----------------------------------------- начало php кода -----------------------------------------<br /><?php<br />//Вспомогательные функции предварительной инициализации<br />function SetupStore($location, $name, $mode)<br />{<br /> $store = new CPStore();<br /> return $store->Open($location, $name, $mode);<br />}<br /><br />function SetupCertificates($location, $name, $mode)<br />{<br /> $store = SetupStore($location, $name, $mode);<br /> $certs = $store->get_Certificates();<br /> return $certs;<br /><br />}<br /><br />function SetupCertificate($location, $name, $mode,<br /> $find_type, $query, $valid_only,<br /> $number)<br />{<br /> $certs = SetupCertificates($location, $name, $mode);<br /> if($find_type != NULL)<br /> {<br /> $certs = $certs->Find($find_type, $query, $valid_only);<br /> return $certs->Item($number);<br /> }<br /> else<br /> {<br /> $cert = $certs->Item($number);<br /> return $cert;<br /> }<br />}<br /><br />function test_CPSignedData_Sign_Verify()<br />{<br /> try{<br /> $content = "test content";<br /> $address = "http://testca.cryptopro.ru/tsp/tsp.srf";<br /> $cert = SetupCertificate(CURRENT_USER_STORE, "My", STORE_OPEN_READ_ONLY,<br /> CERTIFICATE_FIND_SUBJECT_NAME, "test", 0,<br /> 1);<br /><br /> if(!$cert)<br /> return "Certificate not found";<br /><br /> $signer = new CPSigner();<br /> $signer->set_TSAAddress($address);<br /> $signer->set_Certificate($cert);<br /><br /> $sd = new CPSignedData();<br /> $sd->set_Content($content);<br /><br /> $sm = $sd->Sign($signer, 0, STRING_TO_UCS2LE);<br /> printf("Signature is:\n");<br /> printf($sm);<br /> printf("\n");<br /> $sd->Verify($sm, 0, VERIFY_SIGNATURE_ONLY);<br /> return 1;<br /> }catch(Exception $e)<br /> {<br /> printf($e->getMessage());<br /> }<br />}<br /><br />if(test_CPSignedData_Sign_Verify() == 1)<br />{<br /> printf("TEST OK\n");<br />}else<br />{<br /> printf("TEST FAIL\n");<br />}<br /><br />?><br /><br /><br />----------------------------------------- окончание php кода -----------------------------------------<br /><br /><br />Скажите, что в нем поправить, чтобы мы могли удостовериться, что расширение php работает?<br />Где посмотреть документацию на объекты, их методы ?<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72799:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer_Alt" width="100%"><tr><td>Мне, конечно, приятно общаться здесь самому с собой.<br />Но, может, вы что-нибудь ответите?<br /><br />Расскажу, как удалось скомпилировать so для php без ошибок - ручками поставили линк в папке amd64 на libcppcades по аналогии с другими файлами *.so<br /><br />Возможно у вас что-то с Makefile.unix - не ставится нужная ссылка.<br /><br />Мы, конечно, можем еще долго ковыряться с вашими продуктами, но вы вроде себя позиционируете как ведущего поставщика решений.<br /><br />Может, пора уже соответствовать заявленному и как-то помочь пользователям?</td></tr></table>2016-09-16T12:08:34+03:002016-09-16T12:08:34+03:00Vic589632147<table class="content postContainer_Alt" width="100%"><tr><td>Мне, конечно, приятно общаться здесь самому с собой.<br />Но, может, вы что-нибудь ответите?<br /><br />Расскажу, как удалось скомпилировать so для php без ошибок - ручками поставили линк в папке amd64 на libcppcades по аналогии с другими файлами *.so<br /><br />Возможно у вас что-то с Makefile.unix - не ставится нужная ссылка.<br /><br />Мы, конечно, можем еще долго ковыряться с вашими продуктами, но вы вроде себя позиционируете как ведущего поставщика решений.<br /><br />Может, пора уже соответствовать заявленному и как-то помочь пользователям?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72786:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer" width="100%"><tr><td>Несмотря на ошибку при компиляции модуля, в папке с результатами компиляции лежат файлы для подключения к php.<br /><br />Мы создали символическую ссылку, как описано в вашей документации.<br /><br />При попытке запустить php скрипт получаем ошибку:<br /><br /><br /># php -r '$o = new CPStore();'<br /><br />PHP Warning: PHP Startup: php_CPCSP: Unable to initialize module<br />Module compiled with module API=20100525<br />PHP compiled with module API=20121212<br />These options need to match<br />in Unknown on line 0<br />PHP Fatal error: Class 'CPStore' not found in Command line code on line 1<br /><br /><br />То есть не сходится номер API у вашей библиотеки и исходников с сайта php<br /><br />Мы скачали исходники на версию 5.5.9, которая на нашей машине с ubuntu.<br /><br />подскажите, какие исходники нужно скачать, чтобы сошлись версии API у php и вашего модуля?</td></tr></table>2016-09-15T18:37:22+03:002016-09-15T18:37:22+03:00Vic589632147<table class="content postContainer" width="100%"><tr><td>Несмотря на ошибку при компиляции модуля, в папке с результатами компиляции лежат файлы для подключения к php.<br /><br />Мы создали символическую ссылку, как описано в вашей документации.<br /><br />При попытке запустить php скрипт получаем ошибку:<br /><br /><br /># php -r '$o = new CPStore();'<br /><br />PHP Warning: PHP Startup: php_CPCSP: Unable to initialize module<br />Module compiled with module API=20100525<br />PHP compiled with module API=20121212<br />These options need to match<br />in Unknown on line 0<br />PHP Fatal error: Class 'CPStore' not found in Command line code on line 1<br /><br /><br />То есть не сходится номер API у вашей библиотеки и исходников с сайта php<br /><br />Мы скачали исходники на версию 5.5.9, которая на нашей машине с ubuntu.<br /><br />подскажите, какие исходники нужно скачать, чтобы сошлись версии API у php и вашего модуля?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72774:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer_Alt" width="100%"><tr><td>Ау, тут есть кто-нибудь?<br /><br />Скажите, можно надеяться на ответы или нет?<br /><br /></td></tr></table>2016-09-15T16:54:50+03:002016-09-15T16:54:50+03:00Vic589632147<table class="content postContainer_Alt" width="100%"><tr><td>Ау, тут есть кто-нибудь?<br /><br />Скажите, можно надеяться на ответы или нет?<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid72750:1Как нам все-таки начать использовать серверную часть ваших программ?<table class="content postContainer" width="100%"><tr><td>Пока мы ждем от вас ответ на предыдущее сообщение, пытаемся собрать библиотеку для php<br /><br />команда eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix<br /><br />выдает ошибку<br /><br />/usr/bin/ld: cannot find -lcppcades<br /><br />Как исправить эту ошибку?</td></tr></table>2016-09-15T11:37:36+03:002016-09-15T11:37:36+03:00Vic589632147<table class="content postContainer" width="100%"><tr><td>Пока мы ждем от вас ответ на предыдущее сообщение, пытаемся собрать библиотеку для php<br /><br />команда eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix<br /><br />выдает ошибку<br /><br />/usr/bin/ld: cannot find -lcppcades<br /><br />Как исправить эту ошибку?</td></tr></table>