Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Как использовать библиотеки КриптоПро в среде Qt Creator для системы Sailfish OS? КриптоПро есть как на i486, так и на armv7hl. Нашла семплы, устанавливающиеся вместе с КриптоПро, если правильно понимаю, с devel-пакетом. Т.е., функции криптопро возможно спокойно использовать, подключая соответствующие хедеры в c++ коде.  Работаю в Qt Creator, подключаюсь к устройству (armv7hl). Заранее поставила КриптоПро на устройство разумеется. Подключаю в .pro файл: Цитата: QMAKE_RPATHDIR += \ /usr/share/cprocsp/lib/arm \ #usr/share
  LIBS += \ -L/usr/share/cprocsp/lib/arm -lssp
  INCLUDEPATH += \ /usr/share/cprocsp/include \ /usr/share/cprocsp/include/cpcsp  \ /usr/share/cprocsp/include/reader 
 
  Билдится, но если попытаться подключить какие-нибудь хедеры из соответствующей папки с устройства в cpp, то среда скажет, что такого хедера нет. До этого, с горем пополам как-то удавалось что-то запустить, хотя работали по прежнему не все функции, а после обновления, которые теперь ставится почему-то в /usr/share/, не работает не старая версия криптопро (/opt/), ни новая (/usr/share/). Чего не хватает? Нужно ли что-то ещё подключить? В devel пакете содержится инструкция по работе с функциями? Если да, то где искать?  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. А вы разрабатываете именно под Sailfish, а не под Аврору? Из-за ограничений в последней (в валидаторе пакетов) между ними большая разница (и поэтому у нас два разных дистрибутива):  наши библиотеки на Авроре лежат не по стандарту FHS, в отличие от всех остальных *nix, включая Sailfish  разделения на пакты нет  пакета для разработки нет  наших консольных приложений нет  готовых средств управления ключами и сертификатами нет  в общем под Аврору есть только API, а на Sailfish - все Linux-овые средства https://support.cryptopr...7/0/sbork-primerov-n-nix   | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Здравствуйте. Спасибо за ответ. Уже не первый день пытаюсь разобраться, как подключить библиотеки КриптоПро.  Работаю конкретно с устройством Sailfish на данный момент, но через Aurora SDK. Хочу сделать уточнение, исходя из Вашего ответа. Получается, в случае работы конкретно с системой Aurora использовать библиотеки КриптоПро на данный момент не предоставится возможным, и, такой функционал не будет реализован в ближайшем будущем? Что на данный момент можно использовать для работы с Aurora из КриптоПро? Только команды для командной строки? А как поступать для работы с Sailfish? Возможно ли использовать библиотеки в моём коде? Если да, то как? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                Наоборот: на Авроре можно использовать только библиотеки, а на Sailfish - и библиотеки, и приложения. Настройки в pro-файле на глаз верные (если rpath указывается именно так: у нас Qt Creator никто не использует), плюс при линковке надо указывать библиотеки вместе с их зависимостями (-lssp недостаточно, надо -lssp -lcapi10 -lcapi20 -lrdrsup). См. также  https://www.cryptopro.ru...aspx?g=posts&t=16466 Тут рецепт, как добавлять наши библиотеки в build-engine (для Авроры, вероятно, стоит ставить как cprocsp, так и запрещённый для сертифицированных устройств cprocsp-binaries - в нём хэдеры).    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Спасибо за ответ. Ссылку смотрела ещё до вопроса здесь. Всё это подключать пробовала, оттуда же брала всю остальную информацию, но в коде функции так и не было видно. Попробовала указать дополнительно: -lcapi10 -lcapi20 -lrdrsup, но получила следующие ошибки:
  \srv\mer\toolings\AuroraOS-3.2.1.65-base\opt\cross\bin\armv7hl-meego-linux-gnueabi-ld:-1: error: cannot find -lcapi10 \srv\mer\toolings\AuroraOS-3.2.1.65-base\opt\cross\bin\armv7hl-meego-linux-gnueabi-ld:-1: error: cannot find -lcapi20 \srv\mer\toolings\AuroraOS-3.2.1.65-base\opt\cross\bin\armv7hl-meego-linux-gnueabi-ld:-1: error: cannot find -lrdrsup
  Удалось исправить все ошибки, немного изменив .pro:
  QMAKE_RPATH += \ -L/usr/share/cprocsp/lib \ -L/srv/mer/targets/$$(MER_SSH_TARGET_NAME)/lib \ -L/srv/mer/targets/$$(MER_SSH_TARGET_NAME)/usr/lib
  QMAKE_LIBDIR += \ -L/usr/share/cprocsp/lib -lssp -lcapi10 -lcapi20 -lrdrsup \
  INCLUDEPATH += \ /usr/share/cprocsp/include \ /usr/share/cprocsp/include/cpcsp  \ /usr/share/cprocsp/include/reader \
  И тем не менее, в коде всё ещё не могу использовать. Беру хедеры из примера InstallCert.cpp:
  #include <stdio.h> #ifdef _WIN32 #include <windows.h> #include <wincrypt.h> #include <wincryptex.h> #else #include <string.h> #include <stdlib.h> #include <stdio.h> #include <WinCryptEx.h> #endif	// _WIN32 #include "UnixEnroll.h"
  И получаю ошибки:
  error: WinCryptEx.h: No such file or directory  #include <WinCryptEx.h>
  error: 'WinCryptEx.h' file not found
  error: 'UnixEnroll.h' file not found 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Я дополнительно попробовала воспользоваться следующими командами, находясь в папке с rpm пакетами (очень не уверена, что делаю верно):
  export TARGET=AuroraOS-3.2.1.65-base-armv7hl sb2 -t $TARGET -m sdk-install -R zypper in *.rpm
  При этом не установились:
  cprocsp-rdr-pcsc-5.0.11998-4.noarch -- Installation of cprocsp-rdr-pcsc-5.0.11998-4.noarch failed: Error: Subprocess failed. Error: RPM failed: Error: Unknown non-lsb linux libpcsclite.so.1 was not found! error: %prein(cprocsp-rdr-pcsc-5.0.11998-4.noarch) scriptlet failed, exit status 1 error: cprocsp-rdr-pcsc-5.0.11998-4.noarch: install failed
  cprocsp-rdr-cpfkc-5.0.11998-4.noarch -- Installation of cprocsp-rdr-cpfkc-5.0.11998-4.noarch failed: Error: Subprocess failed. Error: RPM failed: Error: Unknown non-lsb linux libpcsclite.so.1 was not found! error: %prein(cprocsp-rdr-cpfkc-5.0.11998-4.noarch) scriptlet failed, exit status 1 error: cprocsp-rdr-cpfkc-5.0.11998-4.noarch: install failed
  Теперь хедеры как бы видны, но среда их выделяет как несуществуемые и вадёт ошибки, при этом компилится. Например, если я пишу:
  cryptocheck::cryptocheck() {     HCRYPTPROV hCryptProv = 0; } то компилится.
  А такая строка вызывает ошибки: cryptocheck::cryptocheck() {     HCERTSTORE hStoreHandle = CertOpenSystemStore(0, "uMy"); }
  Ошибки: cryptocheck.o:-1: error: in function `cryptocheck::cryptocheck()':  cryptocheck.o cryptocheck.cpp:33: error: undefined reference to `CertOpenSystemStoreA' collect2:-1: error: collect2: error: ld returned 1 exit status
  
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                Начните с того, под какую ОС вы собираете. Либо под Аврору, либо под Sailfish. У вас каша: пути к библиотекам как в Авроре, а пакеты от дистрибутива для Sailfish.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Установка приложения с КриптоПро на устройство с Sailfish OS. 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
        
            
            
    
        
	Статус: Сотрудник
  Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,556
  Сказал(а) «Спасибо»: 44 раз Поблагодарили: 650 раз в 448 постах
  
	 
	
     | 
    
        
            
		      
                Тогда у вас неверные пути к библиотекам в pro-файле.    | 
 | 
            
	 
        
    
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
            
        
            
            
    
        
	Статус: Активный участник
  Группы: Участники
 Зарегистрирован: 17.06.2020(UTC) Сообщений: 37  Сказал(а) «Спасибо»: 3 раз
  
	 
	
     | 
    
        
            
		      
                Хорошо. А какие пути будут правильными? 
            
	  
         
     | 
    | 
         
             
     | 
    
         
            
         
     | 
    | 
        
	
     | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close