Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Подключить ключевой носитель к клиентскому узлу.
  2. Записать на ключевой носитель сертификат и закрытый ключ клиента:
    Command

    p11tool --login --write --load-certificate="<путь_к_клиентскому_сертификату>" --id=<идентификатор_ключевой_пары> --label="<метка_ключевой_пары>"

    p11tool --login --write --load-privkey="<путь_к_клиентскому_закрытому_ключу>" --id=<идентификатор_ключевой_пары> --label="<метка_ключевой_пары>"

    где
      - <идентификатор_ключевой_пары> – идентификатор, с которым сертификат и ключ будут храниться на токене;
      - <метка_ключевой_пары> – название, с которым сертификат и ключ будут храниться на токене.

    Пример команд:
    Command

    p11tool --login --write --load-certificate="client.cert.pem" --id=45 --label="mykey"

    p11tool --login --write --load-privkey="client.key.pem" --id=45 --label="mykey"

  3. Включить поддержку токенов в strongSwan.
    Для этого в файле /etc/strongswan.d/charon/pkcs11.conf в секции modules указать пути до интерфейсных библиотек используемых токенов:
    Блок кода
    pkcs11 {
    
        # Whether to load the plugin. Can also be an integer to increase the
        # priority of this plugin.
        load = yes
    
        ...
    
        # List of available PKCS#11 modules.
        modules {
            <название_модуля_1> {
                path = <путь_к_интерфейсной_библиотеке_токена_1>
            }
             <название_модуля_2> {
                path = <путь_к_интерфейсной_библиотеке_токена_2>
            } 
        }
    }
    Например, для токенов Рутокен и Аладдин (закомментировано) файл /etc/strongswan.d/charon/pkcs11.conf может выглядеть так:
    Блок кода
    pkcs11 {
      load = yes
    
      modules {
        rutoken {
          path = /usr/lib/librtpkcs11ecp.so
        }
    #    aladdin { 
    #      path = /usr/lib/libjcPKCS11-2.so
    #    }
      }
    }
  4. Настроить strongSwan на использование закрытого ключа клиента, который находится на токене.
    Для этого в файле /etc/ipsec.secrets указать строку с описанием токена и закрытого ключа:
    Блок кода
    : PIN <токен_и_закрытый_ключ> <pin-код_токена>
    где
      - <токен_и_закрытый_ключ> – задаётся по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<идентификатор_объекта>ключевой_пары>.
                                                                        Например: %smartcard0@rutoken:45
      - <название_модуля> – название модуля, указанное выше в файле /etc/strongswan.d/charon/pkcs11.conf;
      - <идентификатор_ключевой_объекта> пары> – идентификатор закрытого ключа на токене.

    Пример описания для вышеприведённого Рутокена:
    Блок кода
    : PIN %smartcard0@rutoken:45 12345678
  5. Перезапустить strongSwan для применения настроек:
    Command

    sudo ipsec restart

...