Dav*_*fer 5 linux fedora smartcard usb-device
这是一个特定于卢森堡国家的问题:
在卢森堡,官方和银行业务的电子签名基础设施由LuxTrust SA公司提供。他们提供的 U 盘实际上是重新命名的 Gemalto 设备,特别是Signing Stick,这是一种 Gemalto “Gemplus USB Shell Token V2”(或类似产品),带有可移动芯片卡,带有 X.509 证书,可识别用户和私钥。

LuxTrust 表示该设备可在 Windows 和 Mac 上运行,但对 Linux 的支持较弱(但它们支持 Ubuntu),尽管 Gemalto 本身为该设备提供支持和驱动程序。
从浏览器使用设备的一般功能布局似乎是这样的:

所以我已经尝试让这项工作有一段时间了,但我无法让 LuxTrust 的小程序与“签名棒”互操作。有没有人在 Linux 上使用过 LuxTrust 签名棒?
在这种精确的情况下,我们有:
java -version说:1.8.0_40-b26)uname -a说:3.18.9-100.fc20.x86_64)看起来我已经取得了一些成功。
\n\n因此,我们从“Linux 中间件”LuxTrust 页面开始,该页面基本上说“你只能依靠自己,我们不支持你,如果事情变得梨形,那都是你自己的错。点击此处签名!”:
\n\n
我们将保持冷静,首先确保 Java 在浏览器中处于活动状态。
\n\n如果 Java 未激活,状态测试页面(可通过“支持”>“有关证书管理的问题”>“我的证书”(在页脚中)>“测试和状态”访问)将如下所示(请注意,该页面还将 Firefox 37 归类为“不受支持”,坦率地说,这很奇怪):
\n\n
从Oracle 网站安装 Oracle Java SDK 或 Java Runtime
\n\n使 Java 浏览器插件对 Firefox 可见。参见手动安装和注册Java Plugin for Linux,但过程一般如下(以非root用户运行):
\n\n$ mkdir ~/.mozilla/plugins\n$ cd ~/.mozilla/plugins/\n$ ln -s $PATH_TO_WHERE_JAVA_HAS_BEEN_INSTALLED/jre/lib/amd64/libnpjp2.so \nRun Code Online (Sandbox Code Playgroud)\n\n现在必须检查浏览器中是否启用了 Java。
\n\n请参阅Oracle:如何在 Web 浏览器中启用 Java?和Mozilla:如何在 Firefox 中关闭 Java 小程序。原则上您只需检查“\xe2\x89\xa1 > Add-Ons”菜单。设置为“请求激活”以保持“我在这里循环!” 事情的一面:
\n\n
如果您安装了 NoScript,请让 NoScript 允许 Java 小程序运行:
\n\n
最后在Oracle的测试页进行测试。
\n\n好的,就是这样。
\n\n因此,您决定安装LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm从 LuxTrust 下载的“中间件 RPM”。
让我们了解一些相关信息:
\n\n# rpm --query --info --package LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm\n\n Name : libclassicclient\n Epoch : 0\n Version : 7.0.0\n Release : b01.fc20\n Architecture: x86_64\n Install Date: (not installed)\n Group : System Environment/Libraries\n Size : 23147060\n License : Proprietary\n Signature : (none)\n Source RPM : libclassicclient-7.0.0-b01.fc20.src.rpm\n Build Date : Mon 08 Dec 2014 09:21:51 CET\n Build Host : localhost\n Relocations : (not relocatable)\n Vendor : Gemalto\n Summary : Classic Client for Linux: PKCS#11 token for Gemalto Classic cards\n Description : PKCS#11 token for Gemalto Classic cards\nRun Code Online (Sandbox Code Playgroud)\n\n注意名字libclassicclient。这表明这实际上是“Gemalto Classic Client”(的一部分?)。一定是这个:

此外,该许可证是“专有的”。那好吧。
\n\n这个包需要什么?事实上,有不少事情。特别是加密库。请注意,它不需要“sqlite”......
\n\n# rpm --query --package --requires LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm\n\n /bin/sh\n /bin/sh\n rpmlib(FileDigests) <= 4.6.0-1\n rpmlib(PayloadFilesHavePrefix) <= 4.0-1\n rpmlib(CompressedFileNames) <= 3.0.4-1\n ld-linux-x86-64.so.2()(64bit)\n ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)\n libatk-1.0.so.0()(64bit)\n libcairo.so.2()(64bit)\n libcrypto.so.10()(64bit)\n libc.so.6()(64bit)\n libc.so.6(GLIBC_2.14)(64bit)\n libc.so.6(GLIBC_2.2.5)(64bit)\n libc.so.6(GLIBC_2.3.2)(64bit)\n libc.so.6(GLIBC_2.3.3)(64bit)\n libc.so.6(GLIBC_2.3.4)(64bit)\n libc.so.6(GLIBC_2.3)(64bit)\n libc.so.6(GLIBC_2.4)(64bit)\n libc.so.6(GLIBC_2.7)(64bit)\n libdl.so.2()(64bit)\n libdl.so.2(GLIBC_2.2.5)(64bit)\n libfontconfig.so.1()(64bit)\n libfreetype.so.6()(64bit)\n libgcc_s.so.1()(64bit)\n libgcc_s.so.1(GCC_3.0)(64bit)\n libgcc_s.so.1(GCC_3.3)(64bit)\n libgcc_s.so.1(GCC_4.2.0)(64bit)\n libgdk_pixbuf-2.0.so.0()(64bit)\n libgdk-x11-2.0.so.0()(64bit)\n libgio-2.0.so.0()(64bit)\n libglib-2.0.so.0()(64bit)\n libgobject-2.0.so.0()(64bit)\n libgtk-x11-2.0.so.0()(64bit)\n libidkit.so.2()(64bit)\n libiomp5.so()(64bit)\n libm.so.6()(64bit)\n libm.so.6(GLIBC_2.2.5)(64bit)\n libpango-1.0.so.0()(64bit)\n libpangocairo-1.0.so.0()(64bit)\n libpangoft2-1.0.so.0()(64bit)\n libpcsclite.so.1()(64bit)\n libpthread.so.0()(64bit)\n libpthread.so.0(GLIBC_2.2.5)(64bit)\n libpthread.so.0(GLIBC_2.3.2)(64bit)\n libQtCore.so.4()(64bit)\n libQtGui.so.4()(64bit)\n librt.so.1()(64bit)\n librt.so.1(GLIBC_2.2.5)(64bit)\n libScanAPI.so()(64bit)\n libssl.so.10()(64bit)\n libstdc++.so.6()(64bit)\n libstdc++.so.6(GLIBCXX_3.4.11)(64bit)\n libstdc++.so.6(GLIBCXX_3.4.15)(64bit)\n libstdc++.so.6(GLIBCXX_3.4)(64bit)\n libstdc++.so.6(GLIBCXX_3.4.9)(64bit)\n libusb-0.1.so.4()(64bit)\n rpmlib(PayloadIsXz) <= 5.2-1\nRun Code Online (Sandbox Code Playgroud)\n\n好的,让我们以 root 身份安装该软件包:
\n\n# rpm --install LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm\n WARNING: libsqlite3.so could not be found. Creating symbolic link...\n Creating symbolic link done.\nRun Code Online (Sandbox Code Playgroud)\n\n所以它实际上需要“sqlite”,但在需求中没有这么说。
\n\n谷歌搜索上面的消息表明该消息有时确实是由“Gemalto Classic Client”发出的。
\n\n现在我们在文件系统中找到了一个额外的符号链接:
\n\n/usr/lib/debug/usr/lib64/libsqlite3.so -> libsqlite3.so.0.8.6.debug\nRun Code Online (Sandbox Code Playgroud)\n\n我想我们可以忍受这一点。
\n\n列出通过安装的文件
\n\n# rpm --query --list libclassicclient | less\nRun Code Online (Sandbox Code Playgroud)\n\n显示此包实际上附带(非常好的)手册!
\n\n/usr/share/doc/libclassicclient/Classic_Client_Linux_User_Guide.pdf\n/usr/share/doc/libclassicclient/ReleaseNotes.pdf\nRun Code Online (Sandbox Code Playgroud)\n\n出色的!
\n\n
\n
通过阅读上面的内容,我们很快就会发现:
\n\nccid “something Something”。更多详情请访问金雅拓/usr/bin/CCChangePinTool将“签名棒”插入某个USB端口。内核日志 ( journalctl SYSLOG_FACILITY=0) 说:
kernel: usb 3-2: new full-speed USB device number 3 using ohci-pci\n kernel: usb 3-2: New USB device found, idVendor=08e6, idProduct=3438\n kernel: usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0\n kernel: usb 3-2: Product: USB SmartCard Reader\n kernel: usb 3-2: Manufacturer: Gemplus\nRun Code Online (Sandbox Code Playgroud)\n\n让我们安装智能卡读取守护进程:
\n\n # yum search ccid \n\n pcsc-lite-ccid.x86_64 : Generic USB CCID smart card reader driver\n pcsc-lite-ccid-debuginfo.x86_64 : Debug information for package pcsc-lite-ccid\n libykneomgr.i686 : YubiKey NEO CCID Manager C Library\n libykneomgr.x86_64 : YubiKey NEO CCID Manager C Library\nRun Code Online (Sandbox Code Playgroud)\n\n看来是pcsc-lite-ccid. 因此:
# yum install pcsc-lite-ccid\n\n Installing : pcsc-lite-1.8.10-2.fc20.x86_64\n Installing : pcsc-lite-ccid-1.4.13-1.fc20.x86_64\nRun Code Online (Sandbox Code Playgroud)\n\n一些额外的输出被省略。现在启动守护进程:
\n\n # systemctl start pcscd\n # systemctl status pcscd\n pcscd.service - PC/SC Smart Card Daemon\n Loaded: loaded (/usr/lib/systemd/system/pcscd.service; static)\n Active: active (running) since Mon 2015-04-06 13:12:43 CEST; 4s ago\n Main PID: 10970 (pcscd)\n CGroup: /system.slice/pcscd.service\n \xe2\x94\x94\xe2\x94\x8010970 /usr/sbin/pcscd --foreground --auto-exit\n\n systemd[1]: Started PC/SC Smart Card Daemon.\n pcscd[10970]: 00000000 utils.c:61:GetDaemonPid() Can\'t open /var/run/pcscd/pcscd.pid: No such file or directory\n pcscd[10970]: 00062795 commands.c:898:CmdEscape error on byte 10\nRun Code Online (Sandbox Code Playgroud)\n\n基本上不难看。
\n\n现在/usr/bin/CCChangePinTool以非 root 用户身份运行。
出现一个窗口,允许您“更改 PIN”。将 PIN 设置为其现有值(此处要加倍小心!)。显然这是有效的,应用程序不会抱怨或段错误。凉爽的。
\n\n(这一切均来自金雅拓手册,并非由 LuxTrust 提供)
\n\n必须在 Firefox 中显式配置智能卡读卡器。具体方法如下:
\n\n在首选项 > 功能区:“高级”> 选项卡:“证书”> 按钮:“安全设备”下,您必须添加智能卡读卡器及其智能卡。这可能是任意的。
\n\n就我而言,读者首先出现:
\n\n
但一段时间后(特别是在上面的 PIN 不变之后),“Gemalto USB Shell Token V2”被识别:
\n\n
但在 FireFox 重新启动后,标签发生了变化:
\n\n
神秘?是的!但您现在可以“加载”“GemP15-1”。这需要将 PIN 输入到智能卡(智能卡安全地保存在笔记本电脑或 LastPass 中......)
\n\n那么让我们回到LuxTrust 测试页面......
\n\n好吧,它仍然不起作用。不知道为什么,尽管这是一个 Java Applet,可以记录正在发生的事情以及到底在哪里遇到问题。
\n\n
愤怒先生的时间到了吗?
\n\n
卢森堡公司注册处(RCSL)可用于另一项测试。他们有一个“证书登录页面”。打开它,您会看到一个“eAccess”页面(“连接到卢森堡国的在线服务”),该页面加载了CTIE - Center des Technologies de l\'information de l\'Etat发布的 Applet 。如果您足够快,单击“运行”按钮,您会注意到小程序可以正确访问 LuxTrust 签名棒,并将检索登录页面的用户坐标。
\n\n
有用!享受。
\n| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |