КартыDL签名者обеспечиваютцифровуюподписьданныхидокументоввсамихкартахсиспользованиемасимметричныхкриптографическихалгоритмовRSAилиECDSA。ПоддерживаетсяинфраструктураPKI,ивкартахDL签名者можнохранитьсертификатыx,которыесвязаныспарамикриптографическихключей,сгенерированныхвсамихкартах。Поддерживаетсяхранениевсехсертификатовx,составляющихцепочкудоверияоткорневогосертификатадосертификатаконечнойсущности。
Открытыйключ,которыйгенерируетсявкарточкахDL签名者,помещаетсявтелозапросаприсозданиитребованияоподписаниисертификата(далееCSR)。Запросподписываетсявсамойкарточкесоответствующимзакрытымключом,которыйникогданепокидаетсамукартуиникоимобразомнеможетбытьпрочитанпослегенерациипарключей。ДалееКСОнаправляетсяворганпосертификациидлясозданияиподписаниянаегоосновесертификатаx。ЭтотсертификатконечнойсущностипомещаетсявкарточкуподписывающеголицаDLвместесдругимисертификатамиизцепочкидоверияиготовкцифровойподписиданныхидокументов。ПользовательможетотправитьКСОвлюбойорганпосертификации,услугамикоторогоонжелаетвоспользоваться。数字逻辑предоставиламеханизмдлявыдачисертификатовконечныхсущностейдлятестированиясистемы。Однойизосновныххарактеристиксертификатаконечнойсущностиявляетсято,чтозакрытыйключ,которыйсопряженсоткрытымключом,содержащимсявтакихсертификатах,недолжениспользоватьсядляподписидругихсертификатов。
Программныесредства窗户,которыеинициируютгенерациюпаркриптографическихключей,генерируюCSR,туправляют销-кодамии库尔迪斯爱国联盟-кодамикартDL签名者,манипулируютсодержимымсертификатовxиподписываютданныеифайлы,распространяютсякак«ufr-signer»。
“签名验证者”——этоприложение窗户,проверяющеецифровыеподписиRSAиECDSA。
ЦифроваяподписьипроверкаподписейтакжемогутбытьвыполненыизприложенияAdobe Acrobat Reader直流спомощьюмодуляufr-pkcs11,которыймыразработалидляэтойцели。НашмодульPKCS # 11такжеможноиспользоватьспопулярнымпочтовымклиентомивеб——браузеромMozilla,атакжесдругимипрограммнымиинструментами,совместимымисоспецификациейPKCS # 11。
Мытакжепредоставиливеб——сервисыдляонлайн——проверкисертификатовxиподписанныхpdf -файлов。
Подписант在这里
«这里签名者»——этопрограммныйинструмент,которыйинициируетгенерациюпаркриптографическихключей,генерируетзапросыCSR,служитдляуправления销-кодамии库尔迪斯爱国联盟-кодамикартDL签名者,манипулируетсодержимымсертификатовxиподписываетданныеифайлы。
Приложениеразделенонанесколькологическихблоковспомощьювизуальногокомпонентаэлементауправлениявкладкой。Вкладки помечены названиями следующих объектов:
«КлючиRSA»и«КлючиEC»используютсядлясозданияиуправленияпарамиключеRSAийлиECC。
RSA(莱维斯特,沙米尔Adleman)иECC(椭圆曲线密码学)представляютсобойсовременныеасимметричныекриптографическиеалгоритмы。КартыDL签名者поддерживаютхраненике3лючеRSA 3кийлючейECCотдельно。Каждыйизкриптографическихключейможетиметьразнуюдлинуихарактеристикуиобозначаетсякриптографическималгоритмомииндексомключа。
Вкладка«销-коды»относитсякуправлениюирегистрации销-кодапользователянакартеDL签名者,расположеннойвполесчитывателя在这里。销-кодявляетсяаббревиатуройот«Персональныйидентификационныйномер»。Вдополнениек销-кодам,наэтойвкладкевытакжеможетеразблокироватьзаблокированныекартыспомощью库尔迪斯爱国联盟-кодов。库尔迪斯爱国联盟расшифровываетсякак«销-ключразблокировки。”
Вкладка”Объектыкарты”используетсядляуправлениясертификатамиЦСисертификатамиконечныхсущностей,связаннымиссоответствующимикриптографическимиключамичерезихиндексы。Сертификаты должны быть под x.509 версииУчетныеданныеконечнойсущностидолжнысодержатьоткрытыйключ,первоначальносозданныйвкарточкеподписывающеголицаDLвпарессоответствующимзакрытымключом。Основноеназначениесертификата-использованиеприподготовкекподписаниючерезмодульPKCS # 11。НаличиесертификатовxнеявляетсяобязательнымдляиспользованияDL签名者卡спроприетарнымиприложениями。
Навкладке«Подпись»естьопциидлясозданияцифровыхподписей。Можноподписатьмассивбайтов,текстовыйвводилифайл。Этиподписимогутбытьпровереныспомощьюприложения“签名验证者”。
ДляэффективногорешенияпроблемспроизводительностьюкарточкиподписывающихустройствDLпредназначеныдляподписиблоковданныхкакможноболеекратко。ПоэтомусуществуетпрактикацифровойподписиданныхспомощьюалгоритмаRSA,определенногосхемойv1.5 PKCS # 1。ДляалгоритмаECDSAпроцедурасозданияцифровойподписи,заполнениеимеханизмывыравниванияопределенывRFC 6979。
ПоследняяверсияприложенияuFRSigner——1.5.3.0инеобходимоиспользоватьбиблиотекуuFCoderверсии5.0.1иливышеипрошивку这里версии5.0.7иливыше。
销-коды
销-кодявляетсяаббревиатуройот«Персональныйидентификационныйномер»。КартаподписывающеголицаDLсодержит2различных销-кода。Это(сотрудникслужбыбезопасности)销-коди销-кодпользователя。Такназываемый«сотрудникслужбыбезопасности»——этопользователь,которыйимеетадминистративныепривилегиидлядоступакобъектамбезопасностинакарточкеподписывающеголицаDL。销-коддолженотличатьсяот销-кодапользователя。
«Сотрудникслужбыбезопасности»обязанавторизоватьсядлядоступаккартевслучаях,когданеобходимоизменить销-и库尔迪斯爱国联盟кодыиизменитьсодержимоехранилищадляключейисертификатов。Входспомощью销-кодапользователянеобходимдляполученияцифровойподписихэшированнойстрокиданных。
销-кодынакарточкахподписантаDLмогутсодержатьнемене4есимволовимаксимум8символов。Здесьподсимволомнаходитсялюбойбуквенно——цифровой(сучетомрегистра)илилюбойпечатныйсимвол。Печатныесимволывосновномотносятсякзнакампрепинаниянастандартныхклавиатурах。Присмене销-кодовнерекомендуетсяиспользоватьспецифическиесимволы,которыеможнонайтитольконаотдельныхлокализованныхклавиатурах,атолькосимволы,которыенаходятсявстандартеASCIIикоторыесуществуютнастандартныхклавиатураханглийскогоязыкаСША。
ВовсехкарточкахDL签名者изначальноустанавливаются销-кодыпоумолчаниюи销-кодыпользователя,состоящиеизвосьмипоследовательныхцифровыхсимволов«0»(ноль)или«00000000»。
Максимальноеколичествовведенныхнеправильныхпоследовательных销-кодов- 5。Есликоличествонеправильныхпоследовательныхпопытокввести销-кодпревышено,этот销-кодблокируется。Пока销-коднезаблокирован,вводправильного销-кодасбрасываетсчетчикнеправильновведенных销-кодов。
Единственныйспособразблокировать销-код——ввестиправильный库尔迪斯爱国联盟-код。库尔迪斯爱国联盟——этоаббревиатураот«销-ключразблокировки。”Код所以库尔迪斯爱国联盟служитисключительнодляразблокировки销-кода,апользовательский库尔迪斯爱国联盟дляразблокировкипользовательского销-кода。10Вслучаепоследовательнонеправильновведенных库尔迪斯爱国联盟-кодов,库尔迪斯爱国联盟-кодстановитсянепригоднымдляиспользования,афункциональностькарты,ккоторойотноситсязаблокированный销-код,остаетсязаблокированнойнавсегда。
КлючиRSA
Навкладке”КлючиRSA”естьопциидлясозданияиуправленияключамиRSA。ПередработойсключамиRSAкартадDL签名者卡олжнанаходитьсявполесчитывателя这里,подключенномккомпьютер,унакоторомзапущеноприложениеufr-signer。Крометого,所以(Сотрудникпобезопасности)долженвойтивсистему。
КлавишиEC
Навкладке“EC键”естьопциидлясозданияиуправленияключомEC。ПередработойсключамиECкартадDL签名者卡олжнанаходитьсявполесчитывателя这里,подключенномккомпьютер,унакоторомзапущеноприложениеufr-signer。Крометого,所以(Сотрудникпобезопасности)долженвойтивсистему。
КартыподписывающеголицаDLподдерживаютследующиестандартныекривыеECC:
Подписант dl 22:
Secp112r1, secp112r2, secp128r1, secp128r2, secp160r1, secp160r1, secp192k1, secp192r1, secp224k1, secp256r1, secp256r1, secp384r1, secp521r1, sect113r1, secp113r2, sect131r1, sect163r1, sect163r2, sect193r1, sect233r1, sect233r1, sect233k1, sect283k1, sect283r1, sect409k1, sect409r1。
Подписант dl 30:
Secp192k1, secp192r1, secp256k1, secp256r1, secp384r1。
Подписант dl 145:
Secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, secp256r1, secp384r1, secp521r1。
Создание запроса на подпись сертификата (csr)
ОнопределенстандартомиPKCS # 10представляетсобойстандартизированнуюзапись,которая,средипрочего,содержитосновнуюинформациюопользователесертификатавразличающемсяимени。Исходяизхарактеристическогоназвания,витоговомсертификатеxформируетсятакназываемыйСубъект(предметнаяобласть)。Крометого,записиCSRмогуттакжесодержатьрасширения,определенныестандартомx,которыецентрсертификации(ЦС)можетрассмотретьилиотклонить,взависимостиотсвоейполитикисертификации。ОсновнойчастьюКСО,безусловно,являетсяоткрытыйключиегопараметры。Всеэтиданные,упакованныевформу、определеннуюстандартомPKCS # 10,окончательнопропускаютсячерезсоответствующийкриптографическийдайджест-алгоритмирезультатподписываетсявкарточкесоответствующимзакрытымключом。ПолученнаятакимобразомцифроваяподписьстановитсянеотъемлемойчастьюКСО。
CSRотправляетсянужномуиздателюсертификата,которыйпредставляетсобойтакназываемыйцентрсертификации(ЦС)。Издательсертификатасгенерируетсертификатконечнойсущностиx,которыйподписансоответствующимзакрытымключом,теперьсвязаннымсоткрытымключом,содержащимсявсоответствующемпромежуточномиликорневомсертификатеЦС。Такимобразом,сертификатконечнойсущностистановитсячастьюцепочкидоверия,гарантированнойцентромсертификации(ЦС)。
Диалоговоеокно«Запроснаподписьсертификата(CSR)»представляетсобойотдельнуюгруппудляввода«Различающеесяимя(DN)»,«Расширения»ивправомверхнемуглугруппполейсосписком,дляуправленияалгоритмомхэшированияиопределениякриптографическогоключа。Внизусправанаходитсягруппакнопокдлявыборадействий,связанныхсгенерациейКСО。
Различающеесяимя,называемоDN,есостоитизгруппыотносительногоразличающегосяимени(RDN),представляющейгруппуатрибутов。При определении dn очень важен порядок поля rdn。Важноотметить,чтоможноповторитьоднополеRDNнесколькоразвпределахDN。Необходимопомнить,чтоЦентрсертификации(ЦС)необязанвыдаватьсертификатстемжеDN,какопределеновCSR,ноDNможетформироватьсянаосновесобственныхправилиданных,полученныхвходеранеереализованнойпроверкиличностипользователя。
ФормированиеDNвыполняетсяпутемвыборасоответствующегоRDNизполясоспискомивводанужногозначениявтекстовоеполе。Принажатиикнопки”把“объявленноRDNебудетпомещеновсписок(列表框),определяющийDN。ЕсливспискевыбраноодноизполейRDN,новоRDNебудетвставленомеждувыбраннымипредыдущимполем。ЕсливспискеDNничегоневыбрано,вконцеспискавставляетсяновоеполе的RDN。Чтобыотменитьвыделениевсписк,енажмитекнопку«Отменитьвыбор»。НеправильноRDNеможноудалитьизсписка,нажавкнопку”Удалить”。ПорядокполяRDNможноизменитьспомощьюкнопок«Вверх»и«Переместитьвниз»,которыевлияютнаизбыточностьвыбранногоRDNвсписке。
РасширенияявляютсянеобязательнойчастьюКСО,ицентрсертификации(ЦС)можетрассмотретьилиотклонитьихвзависимостиотполитикисертификации。Можноприсвоитьбольшеатрибутов。ижелательноопределитьадресэлектроннойпочтывпределахальтернативнойтемысубъекта(альтернативноеимясубъекта,сокращенноsubjectAltName),потомучтоэтонаиболеераспространенныйдляэтойцелиэмитентсертификатавобычномдляэтойцелиместе。Длярасширенийпорядокотдельныхатрибутовневажен。Предполагается,чтожелаемоеназначениеключей,расширенноеназначениеключейиоператоры,связанныесквалифицированнымисертификатами,всеещемогутбытьопределены。Ещеразследуетподчеркнуть,чтоэмитентысертификатамогутигнорироватьрасширения,итольконекоторыеизнихмогутвыдаватьтакназываемыеквалифицированныеэлектронныесертификаты。Влюбомслуча,еврамкахрасширенийпользовательможетуказатьжелаемыеэлементыбудущегосертификата,но,опятьже,окончательнаяликвидациясертификатаxзависитисключительноотихэмитентаичтовседеталидолжныбытьполностьюознакомленысихполитикамидозаключениядоговоравыдачи。
Выборхэш-алгоритмаосуществляетсяизполясосписком,помеченного«алгоритмомдайджестаподписывающейстороны»。Поумолчаниюиспользуетсяsha - 256,которыйотноситсякалгоритм用户уSHA2,которыйимееб256титнавыходеили32байта,иэторекомендуетсяиспользоватьдляCSR。SHA1большенерекомендуется,用户аSHA2сбольшимколичествомбайтовнавыходе(512年384и),аалгоритмSHA3планируетсякболеечастомуиспользованиювбудущем。
Ключииихпараметры(«алгоритмшифрованияподписывающейстороны»и«индексключаподписывающеголица(карточка)»)здесьнемогутбытьизмененыиужеопределенынавкладк,ескоторойвыоткрылиэтотдиалог(«КлючиRSA»или«КлючиEC»),иихназначениездесьтолькоинформативное。Если«КлючиRSA»или«КлючиEC»,спомощьюкоторыхвыоткрывалидиалогCSR,наэтикетке,указывающейразмерключRSA,анебылосоответствующегооткрытогоключ,аранеепрочитанногоскарты,токриваяECDSAбудетобозначенакак«Открытыйключнеустановлен。”Когдаоткрытыйключнеустановлен,невозможновыполнить«签署并保存CSR»,номожнозагрузитьDNирасширенияизсуществующегоCSRилитакназываемогоTBS CSR。
TBS CSR——этонашвнутреннийформатзаписитакназываемогозапроса«Бытьподписанным»,которыйможетслужитьшаблономдлясозданиязапросовCSRснесколькимиобщимифункциями。TBS CSRнесодержиткриптографическихключей,ахраниттолькоDNирасширения。
Нажатиекнопки«Очиститьзаписи»удаляетвсеэлементывDNирасширени,итакчтодиалоговоеокноподготовленодляновойзаписи。
Нажавклавишу«ПодписатьисохранитьCSR»,выполняетсяподписаниCSRевкарточкеисохранениеееввыбранномфайле。Есликартаненаходитсявполеподключенногосчитывателя这里иливведеннеправильный销-кодпользователя,выполучитесообщениеобошибкессоответствующимописанием。
Последнее,чтонужносделатьпослегенерацииCSR,этоотправитьегоиздателюсертификатадляполучениясертификатаx。Выможетевыбратьлюбогоизкоммерческихилинекоммерческихэмитентовсертификатовили,нажавкнопку«Получитьсертификатонлайн»,выможетеотправитьCSRвнашвеб——сервисдляполучениядемонстрационного,тестовогосертификата,выданного«数字逻辑»。BOB直播官网appСертификатыиспытаний。Демонстрация,сертификаттестапредназначентолькодлятестовогоиспользованияисрокегодействиясоставляет3месяца。СопутствующиекорневыеипромежуточныесертификатыЦСможнозагрузитьсhttp://ca.d-logic.com。
Есливынажметенакнопку«Получитьсертификатонлайн»,вамбудетпредложеноввестиранеесохраненныйCSR -файлсрасширением«。pem»,который будет отправлен на HTTP-сервер。В связи * сервером наhttps://certificates.d-logic.comуспешноисертификатxвыдан,вамбудетпредложеноввестиимяфайладлясохранениясертификата。Впротивномслучаепоявитсясоответствующеесообщениеобошибке。
xОбъектов
Этавкладкапредназначенадляуправленияобъектамиx,связаннымиссертификатаминакарточкахподписывающихлицDL。Чтобысчитыватьобъектыxскарты,необязательновходитьвсистемускаким——либоиз销-кодов。Чтобыизменитьсодержимоехранилищадляобъектовxнакарт,енеобходимоавторизоватьсяс销-кодом所以настранице«销-коды»。
Навкладке“x对象”приложениесразужепытаетсяпрочитатькарту、котораяприсутствуетвполесчитывателя在这里。ЕсливполенетDL签名者卡,появитсясообщениеобошибке,какпоказанонарисункениже:
Еслихранилищеобъектовxуспешносчитаноскарты,спискиотображениясертификатовбудутзаполненыэтимсодержимым。Выможетеобновитьэтиспискивлюбоевремя,поместивнужнуюкартувполесчитывателяинажавкнопку«Обновитьобъектыскарты»。
Выборфайласертификатаxосуществляетсянажатиемклавиши«Открытьфайлсертификата。”ТакжевозможночтениесертификатовизфайловвформатеPEM(вкодировкеBase64),которыеобычноимеютрасширение”。pem”илииздвоичныхфайлов,написанныхвстандартеasn . 1 (DER -кодировке),которыемогутиметьрасширения”。crt”、“。Cer " или ".der"。Есливыбрандопустимыйфайл,отобразитсясистемноедиалоговоеокноссодержимымвыбранногосертификатаx。Послепроверкиэлементовсертификатадостаточноподтвердитьэтонажатиемкнопки«ОК»。
Дляхранениявыбранногосертификатавкарточкенеобходимоввеститребуемыйидентификаторобъекта(произвольнуюбуквенно——цифровуюсимвольнуюстроку),которыйдолженбытьуникальнымпоотношениюкдругимсертификатам,хранящимсянакарте。Идентификаторобъектавводитсявтекстовоеполе”Идентификаторобъектов:”。Предложениесостоитвтом,чтобысертификаты,содержащиеоткрытыеключиRSA,былипомеченыидентификатором,например。От«0001»до«0003»ите,которыесодержатоткрытыеключиECDSA,будутпомеченыидентификатором,например。1001 до 1003。СертификатыЦСтакжедолжныиметьуникальнуюидентификационнуюметкунакарт,епоэтомупредлагаетсяпометитьих,например,от«5001»до«5012»。По-прежнему необходимо выбрать тип ключа。ДлятиповRSAиECDSAиндексзакрытогоключавкарточкепривязанкэтомусертификату,иэтииндексыдолжныбытьсогласованными。ДляцентрасертификацииЦСпорядокиндексовнеактуален,ноиз——запрозрачностипорекомендацииихследуетвводитьпопорядку、одинзадругимпарами,например,от根до中间。Приложения,поддерживающиемодульPKCS # 11ииспользующиесертификатыx,работают,считываявсеобщедоступныеобъектыскарты,азатемпроверяяцепочкудовериянаосновесодержимогосамихсертификатов。 В конце нужно нажать кнопку с описательным названием «Поставить сертификат из файла в карточку с обозначенным ID, типом объекта и индексом».
МыупомянуликорневуюипромежуточнуюпарысертификатовЦС,и,возможно,потребуетсядополнительноуточнитьэто。Здесьмыпредположили,чтосертификатконечнойсущностивцепочкедоверияустанавливаетсячерезпромежуточныйсертификаткорневогоЦС。Этообычныйспособформированияцепочкидоверияофициальнымиэмитентамисертификата。Однакоэтонестрогоеправило,ивдругихконфигурацияхможноизменятьсертификатыЦС,которыеобразуютцепочкудоверия。Важноподчеркнуть,чтовсегдаестьдваокончательныхсертификата,вначалецепочки,такназываемыйкорневой(корневой)сертификатЦСивконцецепочкисертификатконечнойсущности(конечныйсертификат)
Подпись
Навкладке«Подпись»естькомандыдляполученияцифровыхподписейскарты。Наборданныхизстрокивводасметкой«M:»(сообщение)илифайл,путьккоторомуможнозадать,нажавнапереключатель«Установитьфайлдляподписи»,можетбытьподписан。Данныемогутбытьвведенывшестнадцатеричном(十六进制)формат,евкодировкеBase64иливмакетекодаASCII。
Шестнадцатеричныйформат(十六进制)включаетпарышестнадцатеричныхциф,ркоторыемогутбытьразделеныпробелами。ФорматBase64частоиспользуетсявкриптографиииPEM -записяхсертификатовx。ЗдесьмынебудемподробноразбиратьсясформатомBase64。МакеткодаASCIIявляетсяширокоиспользуемымстандартомдлязаписитекстовыхнаборовданных,которыевключаютвсебуквенно——цифровыесимволы,атакжевсестандартныезнакипрепинания。,Впринципевсе,чтоможноввестичерезстандартнуюанглийскуюклавиатуруСША,покрываетсяраскладкойкодаASCII。Еслислучайнобудутвведенысимволы,которыенеявляютсячастьюмакетакодаASCII,ивыбранэтотпараметр,этисимволыбудутзамененывнутреннесимволом' ? '。Символы,которыенеявляютсячастьюраскладкикодаASCII,можноввестиспомощьюнекоторыхлокализованныхклавиатуриливыбравопцию«вставить»вконтекстномменютекстовогополя«M:»。
Когданекоторыеданныевводятсявовходнуюстроку,преобразованиевдругойтипзаписивыполняетсяпростымвыборомжелаемогоформатазаписи(параметры十六进制/ Base64 / ASCII),заисключениемслучаев,когдаестьошибкаввода。
Принажатиинапереключатель”Установитьфайлдляподписи“открываетсястандартноедляоперационнойсистемыWindowsдиалоговоеокновыборафайла。Когдафайлвыбран,путькнемуустанавливаетсявтекстовоеполе“M:”。
Принажатиикнопки«Сохранитьсообщениевдвоичныйфайл»можносохранитьмассивбайтов,введенныхвтекстовомполе«M:»,вдвоичныйфайл。
Выбрав«Получитьподпись»,подлежащиеподписаниюданныепроходятчерезвыбранныйхэш-алгоритм(消息摘要算法),результаткоторогоотправляетсянакарту。Затемкартагенерируетподписьнаосновевыбранногокриптографическогоалгоритмаизполясосписком«Алгоритмшифрования»(RSAилиECDSA)ииндексаключавкарточке(полесосписком«Индексключавкарточке»)。ДляподписаниякартынеобходимозаранеевойтивсистемусПОМОЩЬЮ销-кодапользователя。
Послеуспешногоподписаниязначениецифровойподписиотображаетсявтекстовомполе«Подпись»вформате十六进制илиBase64взависимостиотвыбранногопараметра。Измениввыбор十六进制/ Base64,можнопреобразоватьдисплейподписи。Подписьможносохранитьвдвоичномфайле,нажавкнопку«Сохранитьподписьвдвоичныйфайл。”
Такжереализованодополнительноевычислениехэш——значенияцифровойподписи。Выборхэш-алгоритмовдляэтойцелитакжевключаетвсебяустаревшийалгоритмMD5поисторическимпричинам,таккакнекоторыестарыекриптографическиесистемывсеещезависятотэтогомеханизма。Хэш——значениецифровойподписиможносохранитьвдвоичномфайле,нажавкнопку«Сохранитьхэшвфайл。”
Загрузка программного обеспечения
Пакетсредствразработкипрограммногообеспечения(SDK)доступендлязагрузкиизнашегорепозиторияпрограммногообеспечения。
Необходимыеусловия
Nfc -считыватель серии μfr,версияпрошивкиμFR 3.9.53иливыш,ебиблиотекаμFRверсии4.3.3иливыше。
Видеодемонстрация:
Скриншоты программного обеспечения:
Дополнительныессылки:
Чтобыпросмотретьилизагрузитьдругиепримерыпрограммногообеспечения,посетитенашрепозиторий программного обеспечения Gitlab。
Для покупки наших устройств посетитенаш официальный интернет-магазин。
Нестесняйтесьобращаться обращаться нашу техническую поддержку,еслиувасестькакие——либовопросыонашихпримерахпрограммногообеспечения。