web-dev-qa-db-ja.com

Fedoraで「LuxTrustSigningStick」を使用する(これはルクセンブルクに固有です)

これは ルクセンブルグ の国に固有の質問です:

ルクセンブルクでは、公務員および銀行業務用の電子署名インフラストラクチャが会社によって提供されています LuxTrust S.A。 。それらは、実際にGemaltoデバイスのブランドを変更したUSBスティック、特に Signing Stick 、ユーザーを識別するX.509証明書を搭載した取り外し可能なチップカードを備えたGemalto「GemplusUSB Shell TokenV2」(またはその周辺)を提供します。と秘密鍵。

LuxTrust signing stick

LuxTrustによると、このデバイスはWindowsとMacで動作しますが、Gemalto自体がデバイスのサポートとドライバーを提供しているにもかかわらず、Linuxのサポートは弱いです(ただし、Ubuntuはサポートしています)。

ブラウザからデバイスを使用するための一般的な機能レイアウトは次のようです。

What's going on

そのため、私はしばらくの間この作業を試みましたが、LuxTrustのアプレットを「SigningStick」と相互作用させることができません。 LinuxでLuxTrustSigning Stickを使用した経験のある人はいますか?

この正確なケースでは、次のようになります。

  • Firefox 37.0(ちなみに、NoScriptを使用)、Javaプラグインは:アクティブです
  • Oracle JDK(Java -versionsays:1.8.0_40-b26)
  • Fedora 20(uname -a言います:3.18.9-100.fc20.x86_64)
4
David Tonhofer

私はいくつかの成功を収めたようです。

旅が始まります

そこで、 "Middleware for Linux" LuxTrustページ から始めます。これは基本的に「あなたはあなた自身です。私たちはあなたをサポートしていません。それが洋ナシ型になった場合、それはすべてあなた自身のひどい過ちです。ここをクリックしてください! ":

enter image description here

迷わず、まずブラウザでJavaがアクティブになっていることを確認します。

Javaをアクティブ化する

Javaがアクティブでない場合、 ステータステストページ (「サポート」>「証明書管理に関する質問」>「マイ証明書」(フッター内)からアクセスできます) >「テストとステータス」)は次のようになります(このページではFirefox 37も「サポートされていない」と分類されていることに注意してください。これは率直に言って奇妙です)。

enter image description here

Oracle JavaSDKまたはJavaランタイムを OracleのWebサイト からインストールします。

JavaブラウザプラグインをFirefoxに表示します。 Linux 用のJavaプラグインの手動インストールと登録を参照してください。ただし、手順は通常次のとおりです(root以外のユーザーとして実行)。

$ mkdir ~/.mozilla/plugins
$ cd ~/.mozilla/plugins/
$ ln -s $PATH_TO_WHERE_Java_HAS_BEEN_INSTALLED/jre/lib/AMD64/libnpjp2.so 

次に、ブラウザでJavaが有効になっているかどうかを確認する必要があります。

Oracle:WebブラウザでJavaを有効にするにはどうすればよいですか? および Mozilla:Javaをオフにする方法を参照してください。 Firefox のアプレット。原則として、「≡>アドオン」メニューをチェックするだけです。 「私はここでループに入っています!」を維持するには、「アクティブ化を要求する」に設定します。物事の側面:

enter image description here

NoScriptがインストールされている場合、makeNoScriptはJavaアプレットの実行を許可します。

enter image description here

最後に、 Oracleのテストページ でテストします。

はい、それだけです。

「LuxTrustミドルウェア」をインストールする

そこで、LuxTrustからダウンロードしたLuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpmという「ミドルウェアRPM」をインストールすることにしました。

これに関するいくつかの情報を取得しましょう:

# rpm --query --info --package LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm

    Name        : libclassicclient
    Epoch       : 0
    Version     : 7.0.0
    Release     : b01.fc20
    Architecture: x86_64
    Install Date: (not installed)
    Group       : System Environment/Libraries
    Size        : 23147060
    License     : Proprietary
    Signature   : (none)
    Source RPM  : libclassicclient-7.0.0-b01.fc20.src.rpm
    Build Date  : Mon 08 Dec 2014 09:21:51 CET
    Build Host  : localhost
    Relocations : (not relocatable)
    Vendor      : Gemalto
    Summary     : Classic Client for Linux: PKCS#11 token for Gemalto Classic cards
    Description : PKCS#11 token for Gemalto Classic cards

名前libclassicclientに注意してください。これは、これが実際には(?の一部) "Gemalto Classic Client" であることを示しています。これでなければなりません:

The classic client, I presume?

また、ライセンスは「専有」です。しかたがない。

このパッケージには何が必要ですか?実際、かなりの数のことがあります。特に、暗号ライブラリ。 「sqlite」は必要ないことに注意してください..。

# rpm --query --package --requires LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm

    /bin/sh
    /bin/sh
    rpmlib(FileDigests) <= 4.6.0-1
    rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    rpmlib(CompressedFileNames) <= 3.0.4-1
    ld-linux-x86-64.so.2()(64bit)
    ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
    libatk-1.0.so.0()(64bit)
    libcairo.so.2()(64bit)
    libcrypto.so.10()(64bit)
    libc.so.6()(64bit)
    libc.so.6(GLIBC_2.14)(64bit)
    libc.so.6(GLIBC_2.2.5)(64bit)
    libc.so.6(GLIBC_2.3.2)(64bit)
    libc.so.6(GLIBC_2.3.3)(64bit)
    libc.so.6(GLIBC_2.3.4)(64bit)
    libc.so.6(GLIBC_2.3)(64bit)
    libc.so.6(GLIBC_2.4)(64bit)
    libc.so.6(GLIBC_2.7)(64bit)
    libdl.so.2()(64bit)
    libdl.so.2(GLIBC_2.2.5)(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3)(64bit)
    libgcc_s.so.1(GCC_4.2.0)(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libidkit.so.2()(64bit)
    libiomp5.so()(64bit)
    libm.so.6()(64bit)
    libm.so.6(GLIBC_2.2.5)(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpcsclite.so.1()(64bit)
    libpthread.so.0()(64bit)
    libpthread.so.0(GLIBC_2.2.5)(64bit)
    libpthread.so.0(GLIBC_2.3.2)(64bit)
    libQtCore.so.4()(64bit)
    libQtGui.so.4()(64bit)
    librt.so.1()(64bit)
    librt.so.1(GLIBC_2.2.5)(64bit)
    libScanAPI.so()(64bit)
    libssl.so.10()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
    libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
    libstdc++.so.6(GLIBCXX_3.4)(64bit)
    libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
    libusb-0.1.so.4()(64bit)
    rpmlib(PayloadIsXz) <= 5.2-1

OK、rootとしてパッケージをインストールしましょう:

# rpm --install LuxTrust_Middleware_Fedora_64bit_7.0.0-b01.rpm
    WARNING: libsqlite3.so could not be found. Creating symbolic link...
    Creating symbolic link done.

したがって、実際には「sqlite」が必要ですが、要件ではそうは述べていません。

グーグル 上記のメッセージは、このメッセージが実際に「GemaltoClassicClient」によって発行されることがあることを示しています。

これで、ファイルシステムに追加のシンボリックリンクが見つかりました。

/usr/lib/debug/usr/lib64/libsqlite3.so -> libsqlite3.so.0.8.6.debug

私たちはそれと一緒に暮らすことができると思います。

マニュアルを入手しました

経由でインストールされたファイルの一覧表示

# rpm --query --list libclassicclient | less

このパッケージが実際に(かなり良い)マニュアルに付属していることを示しています!

/usr/share/doc/libclassicclient/Classic_Client_Linux_User_Guide.pdf
/usr/share/doc/libclassicclient/ReleaseNotes.pdf

優れた!

Manual front pageRelease notes front page

上記を読むと、すぐに次のことがわかります。

  1. スマートカード読み取りデーモンのようなものが必要であり、それはccid何かと呼ばれます。詳細 ジェムアルト
  2. 「LuxTrust署名スティック」(前述のように、GemPlusスマートカードリーダー)のPINを変更するパッケージアプリケーションがあります:/usr/bin/CCChangePinTool

デーモンをインストールし、CCChangePinToolを実行します

USBポートに「サインスティック」を差し込みます。カーネルログ(journalctl SYSLOG_FACILITY=0)の内容:

    kernel: usb 3-2: new full-speed USB device number 3 using ohci-pci
    kernel: usb 3-2: New USB device found, idVendor=08e6, idProduct=3438
    kernel: usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    kernel: usb 3-2: Product: USB SmartCard Reader
    kernel: usb 3-2: Manufacturer: Gemplus

そのスマートカード読み取りデーモンをインストールしましょう:

    # yum search ccid  

    pcsc-lite-ccid.x86_64 : Generic USB CCID smart card reader driver
    pcsc-lite-ccid-debuginfo.x86_64 : Debug information for package pcsc-lite-ccid
    libykneomgr.i686 : YubiKey NEO CCID Manager C Library
    libykneomgr.x86_64 : YubiKey NEO CCID Manager C Library

pcsc-lite-ccidのようです。したがって:

    # yum install pcsc-lite-ccid

    Installing : pcsc-lite-1.8.10-2.fc20.x86_64
    Installing : pcsc-lite-ccid-1.4.13-1.fc20.x86_64

いくつかの追加の出力が省略されました。次にデーモンを起動します。

    # systemctl start pcscd
    # systemctl status pcscd
    pcscd.service - PC/SC Smart Card Daemon
       Loaded: loaded (/usr/lib/systemd/system/pcscd.service; static)
       Active: active (running) since Mon 2015-04-06 13:12:43 CEST; 4s ago
     Main PID: 10970 (pcscd)
       CGroup: /system.slice/pcscd.service
               └─10970 /usr/sbin/pcscd --foreground --auto-exit

     systemd[1]: Started PC/SC Smart Card Daemon.
     pcscd[10970]: 00000000 utils.c:61:GetDaemonPid() Can't open /var/run/pcscd/pcscd.pid: No such file or directory
     pcscd[10970]: 00062795 commands.c:898:CmdEscape error on byte 10

基本的に悪くはない。

次に、root以外のユーザーとして/usr/bin/CCChangePinToolを実行します。

「PINの変更」を可能にするウィンドウが表示されます。 PINを既存の値に設定します(ここでは十分注意してください!)。どうやらこれは機能しますが、アプリケーションは文句を言ったりセグメンテーション違反を起こしたりしません。涼しい。

スマートカードリーダーをFirefoxに表示する

(これはすべて、LuxTrustが提供していないGemaltoマニュアルからのものです)

Firefoxでスマートカードリーダーを明示的に構成する必要があります。方法は次のとおりです。

設定>リボン:[詳細設定]>タブ:[証明書]>ボタン:[セキュリティデバイス]の下に、スマートカードリーダーとそのスマートカードを追加する必要があります。これは任意かもしれません。

私の場合、読者が最初に現れました:

Reader visible in Firefox 1

しかし、しばらくすると(特に、上記のPINが変更されなかった後)、「Gemalto USB ShellTokenV2」が認識されます。

Reader visible in Firefox 2

しかし、FireFoxを再起動した後、ラベルが変更されました。

Reader visible in Firefox 3

不思議?はい!ただし、「GemP15-1」を「ロード」できるようになりました。これには、スマートカードにPINを入力する必要があります(ノートブックまたはLastPassに安全に保管されます...)

LuxTrustでテスト

それでは、 LuxTrustテストページ に戻りましょう。

まあ、それはまだ動作しません。これがJavaアプレットであるにもかかわらず、何が起こっているのか、どこで問題が発生しているのかを正確に記録できる理由はわかりません。

It still does not work!

レイジさんの時間はもうありますか?

Mr. Rage

RCSLでテスト

ルクセンブルクの企業レジストリ (RCSL)は別のテストに使用できます。 「証明書ログインページ」があります。起動すると、 CTIE-Center des Technologies de l'information de l 'によって公開されたアプレットをロードする「eAccess」ページ(「ルクセンブルク州のオンラインサービスへの接続」)が表示されます。 Etat 。十分な速度で[実行]ボタンをクリックすると、アプレットがLuxTrust署名スティックに適切にアクセスしてログインページのユーザーの座標を取得できることがわかります。

TAM Login Applet

動作します!お楽しみください。

2
David Tonhofer