<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
		<link>https://forum.rutoken.ru/topic/4565/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/4565/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')».]]></description>
		<lastBuildDate>Fri, 31 Jan 2025 11:58:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27131/#p27131</link>
			<description><![CDATA[<p><strong>dahilu</strong>, добрый день.<br /></p><div class="quotebox"><cite>dahilu пишет:</cite><blockquote><p>Вам надо обновить nuget в nuget.ru</p></blockquote></div><p>Подскажите, пожалуйста, о каком именно пакете идет речь?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Fri, 31 Jan 2025 11:58:48 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27131/#p27131</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27129/#p27129</link>
			<description><![CDATA[<div class="quotebox"><cite>Аверченко Кирилл пишет:</cite><blockquote><p><strong>dahilu</strong>, добрый день.<br />Мы пока разбираемся, почему поведение этой функции отличается на Windows и Linux.<br />Можете описать свою задачу, чтобы мы смогли найти альтернативный вариант подписи?</p></blockquote></div><br /><br /><p>Добрый день. <br />Я уже сам разобрался.<br />Взял исходы из вашего репозитория на github.</p><br /><p>Вам надо обновить nuget в nuget.ru</p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Fri, 31 Jan 2025 11:19:35 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27129/#p27129</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27111/#p27111</link>
			<description><![CDATA[<p><strong>dahilu</strong>, добрый день.<br />Мы пока разбираемся, почему поведение этой функции отличается на Windows и Linux.<br />Можете описать свою задачу, чтобы мы смогли найти альтернативный вариант подписи?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Fri, 31 Jan 2025 03:32:08 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27111/#p27111</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27087/#p27087</link>
			<description><![CDATA[<p>Нашел я причину.</p><br /><p>Не срабатывает этот код в вашей функции PKCS7Sign().</p><p> ulong[] certificates2 = ((IEnumerable&lt;uint&gt;)certificates).Select((Func&lt;uint, ulong&gt;)((uint cert) =&gt; cert)).ToArray();</p><p>Что надо передавать в параметр uint[] certificates ?</p><br /><br /><br /><br /><p>В вашем nuget RutokenPkcs11Interop 2.0.11.0 такой код:</p><div class="codebox"><pre><code>    public static byte[] PKCS7Sign(this Net.Pkcs11Interop.HighLevelAPI.Session session, byte[] data, Net.Pkcs11Interop.HighLevelAPI.ObjectHandle certificate, Net.Pkcs11Interop.HighLevelAPI.ObjectHandle privateKey, uint[] certificates, uint flags)
    {
        if (Platform.UnmanagedLongSize == 4)
        {
            if (Platform.StructPackingSize == 0)
            {
                Net.Pkcs11Interop.HighLevelAPI40.ObjectHandle certificate2 = new Net.Pkcs11Interop.HighLevelAPI40.ObjectHandle((uint)certificate.ObjectId);
                Net.Pkcs11Interop.HighLevelAPI40.ObjectHandle privateKey2 = new Net.Pkcs11Interop.HighLevelAPI40.ObjectHandle((uint)privateKey.ObjectId);
                return session.HLA40Session.PKCS7Sign(data, certificate2, privateKey2, certificates, flags);
            }

            Net.Pkcs11Interop.HighLevelAPI41.ObjectHandle certificate3 = new Net.Pkcs11Interop.HighLevelAPI41.ObjectHandle((uint)certificate.ObjectId);
            Net.Pkcs11Interop.HighLevelAPI41.ObjectHandle privateKey3 = new Net.Pkcs11Interop.HighLevelAPI41.ObjectHandle((uint)privateKey.ObjectId);
            return session.HLA41Session.PKCS7Sign(data, certificate3, privateKey3, certificates, flags);
        }

        if (Platform.StructPackingSize == 0)
        {
            Net.Pkcs11Interop.HighLevelAPI80.ObjectHandle certificate4 = new Net.Pkcs11Interop.HighLevelAPI80.ObjectHandle((uint)certificate.ObjectId);
            Net.Pkcs11Interop.HighLevelAPI80.ObjectHandle privateKey4 = new Net.Pkcs11Interop.HighLevelAPI80.ObjectHandle((uint)privateKey.ObjectId);
            ulong[] certificates2 = ((IEnumerable&lt;uint&gt;)certificates).Select((Func&lt;uint, ulong&gt;)((uint cert) =&gt; cert)).ToArray();
            return session.HLA80Session.PKCS7Sign(data, certificate4, privateKey4, certificates2, flags);
        }

        Net.Pkcs11Interop.HighLevelAPI81.ObjectHandle certificate5 = new Net.Pkcs11Interop.HighLevelAPI81.ObjectHandle((uint)certificate.ObjectId);
        Net.Pkcs11Interop.HighLevelAPI81.ObjectHandle privateKey5 = new Net.Pkcs11Interop.HighLevelAPI81.ObjectHandle((uint)privateKey.ObjectId);
        ulong[] certificates3 = ((IEnumerable&lt;uint&gt;)certificates).Select((Func&lt;uint, ulong&gt;)((uint cert) =&gt; cert)).ToArray();
        return session.HLA81Session.PKCS7Sign(data, certificate5, privateKey5, certificates3, flags);
    }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 14:44:02 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27087/#p27087</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27085/#p27085</link>
			<description><![CDATA[<div class="quotebox"><cite>Аверченко Кирилл пишет:</cite><blockquote><p>Можно попробовать подписывать с помощью openssl+rtengine <a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=180715764">https://dev.rutoken.ru/pages/viewpage.a … =180715764</a></p><div class="quotebox"><cite>dahilu пишет:</cite><blockquote><p>byte[] ar = File.ReadAllBytes(FilePath);</p></blockquote></div><p>Файл присутствует?</p></blockquote></div><br /><p>Да, массив байт ar заполняется.</p><p>Нужен ли какой то уровень доступа к файлу? Хотя сам процесс программы запущен по root</p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 14:06:17 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27085/#p27085</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27084/#p27084</link>
			<description><![CDATA[<p>Можно попробовать подписывать с помощью openssl+rtengine <a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=180715764">https://dev.rutoken.ru/pages/viewpage.a … =180715764</a></p><div class="quotebox"><cite>dahilu пишет:</cite><blockquote><p>byte[] ar = File.ReadAllBytes(FilePath);</p></blockquote></div><p>Файл присутствует?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Wed, 29 Jan 2025 14:04:02 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27084/#p27084</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27083/#p27083</link>
			<description><![CDATA[<p>at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)<br />&nbsp; &nbsp;at System.Linq.Enumerable.Select[TSource,TResult](IEnumerable`1 source, Func`2 selector)<br />&nbsp; &nbsp;at RutokenPkcs11Interop.HighLevelAPI.SessionExtensions.PKCS7Sign(Session session, Byte[] data, ObjectHandle certificate, ObjectHandle privateKey, UInt32[] certificates, UInt32 flags)<br />&nbsp; &nbsp;at RutokenSigner.Signer.Sign(String FilePath, Boolean isSignAttached) in c:\Users\user\Documents\Git\r\RutokenSigner\Signer.cs:line 330</p><p><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.rutoken.ru/uploads/images/2025/01/7caca5f712a0af1e9e97ab089458ab6a.png"><img class="fb_img" src="https://forum.rutoken.ru/uploads/previews/2025/01/7caca5f712a0af1e9e97ab089458ab6a.png" alt="" /></a></span></p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 14:03:47 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27083/#p27083</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27081/#p27081</link>
			<description><![CDATA[<div class="quotebox"><cite>Аверченко Кирилл пишет:</cite><blockquote><p>Если создать ключ и сертификат на токене с помощью тех же примеров, ошибка будет воспроизводиться?<br />Что вы передаете в функцию PKCS7Sign?</p></blockquote></div><br /><p>Программно создать ключ еще не пробовал. Попробую.</p><br /><p>Поиск сертификата и ключей:</p><div class="codebox"><pre><code>        public List&lt;(ObjectHandle cert, ObjectHandle key)&gt; GetCertAndKey(Session Session, string CkaId)
        {
            List&lt;(ObjectHandle cert, ObjectHandle key)&gt; res = new();

            List&lt;CKA&gt; CKAAttributes = new List&lt;CKA&gt; { CKA.CKA_ID, CKA.CKA_CLASS, CKA.CKA_LABEL, CKA.CKA_PRIVATE };

            var certificates = Session.FindAllObjects(CertificateAttributes);               // Получить массив хэндлов сертификатов

            foreach (var cert in certificates)
            {
                var attr = Session.GetAttributeValue(cert, CKAAttributes);

                byte[] ar = attr[0].GetValueAsByteArray();

                string cka = BitConverter.ToString(ar);

                if (cka == CkaId)
                {
                    var keys = Session.FindAllObjects(PrivateKeyAttributes);               // Получить массив хэндлов приватных ключей

                    foreach (var key in keys)
                    {
                        var attr2 = Session.GetAttributeValue(key, CKAAttributes);

                        byte[] ar2 = attr[0].GetValueAsByteArray();

                        string cka2 = BitConverter.ToString(ar2);

                        if (cka2 == CkaId)
                        {
                            res.Add((cert, key));

                            break;
                        }
                    }

                    break;
                }
            }

            return res;
        }</code></pre></div><br /><p>Ищется все нормально. Находится 1 сертификат и один ключ.</p><p>Кусок кода для подписи:</p><div class="codebox"><pre><code>var pairs = GetCertAndKey(session, _ckaId);  

if (pairs == null)
{
   throw new Exception($&quot;Не найден сертификат или приватный ключ по указанному id: {_ckaId}&quot;);
}

byte[] ar = File.ReadAllBytes(FilePath);

                       
return session.PKCS7Sign(ar, pairs[0].cert, pairs[0].key, null, SampleConstants.UseHardwareHash);      </code></pre></div><br /><br /><p>Вы можете прислать пример команды для подписи файла в cmd? Попробовать подписать через терминал</p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 13:44:26 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27081/#p27081</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27080/#p27080</link>
			<description><![CDATA[<p>Если создать ключ и сертификат на токене с помощью тех же примеров, ошибка будет воспроизводиться?<br />Что вы передаете в функцию PKCS7Sign?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Wed, 29 Jan 2025 13:16:00 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27080/#p27080</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27078/#p27078</link>
			<description><![CDATA[<p>С проблемой libdl.so разобрался. Нашел ее и положил ее рядом.<br />Информацию по ключам можно считать. Но при подписи - все равно</p><p>Value cannot be null. (Parameter &#039;source&#039;)</p><br /><p>Помогите пожалуйста</p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 12:51:13 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27078/#p27078</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27076/#p27076</link>
			<description><![CDATA[<div class="quotebox"><cite>Аверченко Кирилл пишет:</cite><blockquote><p>Добрый день. <br />Вы используете пример <a href="https://github.com/AktivCo/RutokenPkcs11Interop.Samples/blob/master/src/PKIExtensions.SignPKCS7-GOST34.10-2012-256/SignPKCS7-GOST34.10-2012-256.cs">https://github.com/AktivCo/RutokenPkcs1 … 012-256.cs</a> ?<br />Шаблон поиска ключа вы изменяли?</p></blockquote></div><br /><p>Да пример этот.</p><p>Шаблон поиска ключа изменен на</p><div class="codebox"><pre><code>        // Шаблон для поиска сертификата ключа подписи
        static readonly List&lt;ObjectAttribute&gt; CertificateAttributes = new List&lt;ObjectAttribute&gt;
        {
            new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_CERTIFICATE),
            new ObjectAttribute(CKA.CKA_TOKEN, true)
        };


        // Шаблон для поиска закрытого ключа ГОСТ Р 34.10-2012 (256 бит)
        static readonly List&lt;ObjectAttribute&gt; PrivateKeyAttributes = new List&lt;ObjectAttribute&gt;
        {
            new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_PRIVATE_KEY),
            new ObjectAttribute(CKA.CKA_TOKEN, true)
        };</code></pre></div><p>Далее получаю по каждому объекту CKA_ID</p><p>Забираю сертификат и ключ по CKA_ID.</p><p>В подписе исполью их.</p><br /><br /><p>Есть уточнение. <br />Эта ошибка &quot;Value cannot be null. (Parameter &#039;source&#039;)&quot; возникает на виртуальной машине Ubuntu 20. Именно при выполнении метода PKCS7Sign().</p><br /><p>Сегодня я проверил на физической машине с Linux Ubuntu 24.<br />Все сделал в соответствии инструкции:</p><p><a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=76218369#id-%D0%A0%D1%83%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%AD%D0%A6%D0%9F%D0%B2%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D1%85%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%D1%85GNU/Linux-%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%D0%A0%D1%83%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D0%AD%D0%A6%D0%9F%D0%B2%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5">https://dev.rutoken.ru/pages/viewpage.a … 0%BC%D0%B5</a></p><br /><p>Результат:</p><p>При работе в командой строке все в порядке. Отрабатывают все команды (Подпись не пробовал, не разобрался).<br />Но при исполнении кода, возникает ошибка на стадии </p><p>new Pkcs11(mydll, AppType.SingleThreaded))</p><br /><p>Ошибка:</p><br /><p>&quot;Unable to load shared library &#039;libdl&#039; or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you&#039;re using glibc, consider setting the LD_DEBUG environment variable: \n/usr/lib/RadioAccessCross/WebAPIProvider/libdl.so: cannot open shared object file: No such file or directory\n/usr/lib/RadioAccessCross/WebAPIProvider/liblibdl.so: cannot open shared object file: No such file or directory\n/usr/lib/RadioAccessCross/WebAPIProvider/libdl: cannot open shared object file: No such file or directory\n/usr/lib/RadioAccessCross/WebAPIProvider/liblibdl: cannot open shared object file: No such file or directory\n&quot;</p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Wed, 29 Jan 2025 12:36:19 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27076/#p27076</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27044/#p27044</link>
			<description><![CDATA[<p>Добрый день. <br />Вы используете пример <a href="https://github.com/AktivCo/RutokenPkcs11Interop.Samples/blob/master/src/PKIExtensions.SignPKCS7-GOST34.10-2012-256/SignPKCS7-GOST34.10-2012-256.cs">https://github.com/AktivCo/RutokenPkcs1 … 012-256.cs</a> ?<br />Шаблон поиска ключа вы изменяли?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Tue, 28 Jan 2025 09:04:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27044/#p27044</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27036/#p27036</link>
			<description><![CDATA[<div class="quotebox"><cite>Филиппов Никита пишет:</cite><blockquote><p><strong>dahilu</strong>, Добрый день!<br />Уточните пожалуйста, какие сертификаты вы используете для подписания?</p></blockquote></div><br /><p>Использую тестовые сертификаты и тестовые ключевые пары. Созданы через web портал.</p><p>При работе на Windows - никаких проблем не возникает.</p><p>Только на Linux есть ошибка. Ну и как говорил, через ваше web демо, на Linux, все отрабатывает без ошибок.</p><p><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.rutoken.ru/uploads/images/2025/01/7230ee13dee6490d1aac3a75f9be2dd7.png"><img class="fb_img" src="https://forum.rutoken.ru/uploads/previews/2025/01/7230ee13dee6490d1aac3a75f9be2dd7.png" alt="" /></a></span></p>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Tue, 28 Jan 2025 07:13:56 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27036/#p27036</guid>
		</item>
		<item>
			<title><![CDATA[Re: c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27019/#p27019</link>
			<description><![CDATA[<p><strong>dahilu</strong>, Добрый день!<br />Уточните пожалуйста, какие сертификаты вы используете для подписания?</p>]]></description>
			<author><![CDATA[null@example.com (Филиппов Никита)]]></author>
			<pubDate>Mon, 27 Jan 2025 08:58:22 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27019/#p27019</guid>
		</item>
		<item>
			<title><![CDATA[c#. Рутокен 3.0. Ubuntu 20  Value cannot be null. (Parameter 'source')]]></title>
			<link>https://forum.rutoken.ru/post/27012/#p27012</link>
			<description><![CDATA[<p>Добрый день.</p><p>Возникает Exception при подписывании документа PKCS7Sign().</p><p>Value cannot be null. (Parameter &#039;source&#039;)</p><p>Использую NuGet<br />Aktiv.RutokenPkcs11Interop 2.0.11<br />Pkcs11Interop 4.1.1</p><p>Через браузер, на демо портале все работает.</p><br /><br /><p>Подскажите, пожалуйста, в чем причина?</p><div class="codebox"><pre><code>        public byte[] Sign(string FilePath, bool isSignAttached = true)
        {
            Net.Pkcs11Interop.HighLevelAPI.ObjectHandle certificate = new();

            Net.Pkcs11Interop.HighLevelAPI.ObjectHandle privateKey = new();

            try
            {
                string mydll = @&quot;./librtpkcs11ecp.so&quot;;                

                Console.WriteLine($&quot;mydll: {mydll}&quot;);

                using (var pkcs11 = new Pkcs11(mydll, AppType.SingleThreaded))
                {

                    Slot slot = Helpers.GetUsableSlot(pkcs11);                                      // Find first slot with token present

                    using (Session session = slot.OpenSession(SessionType.ReadWrite))
                    {
                        session.Login(CKU.CKU_USER, _password);

                        var pairs = GetCertAndKey(session, _ckaId);                        

                        byte[] ar = File.ReadAllBytes(FilePath);

                        return session.PKCS7Sign(ar, pairs[0].cert, pairs[0].key, null, SampleConstants.UseHardwareHash);       // Подпись данных c присоединенной подписью

                    }
                }
            }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (dahilu)]]></author>
			<pubDate>Fri, 24 Jan 2025 13:04:39 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27012/#p27012</guid>
		</item>
	</channel>
</rss>
