Yubico Forum https://forum.yubico.com/ |
|
[QUESTION] Using PIV PKCS#11 for VPN under Windows https://forum.yubico.com/viewtopic.php?f=35&t=2557 |
Page 1 of 1 |
Author: | wibou [ Tue Feb 07, 2017 4:40 pm ] |
Post subject: | [QUESTION] Using PIV PKCS#11 for VPN under Windows |
Hello, To support an old VPN setup we have in-house, I need to use Yubikey 4 PIV to store PKCS#11 certificate. Those are then read by OpenVPN. That post was very helpful and it works quite well on Linux machines However, I cannot get it to works under Windows. I installed the latest release of OpenSC for Windows (0.16.0, dated Jun 3 2016... a bit old?). OpenVPN installed is of version 2.4.0 x86_64-w64-mingw32. The key is a Yubikey 4 (firmware is 4.3.3) configured in OTP/U2F/CCID composite mode. The certificates are already present (it was setuped on a Linux box). When I try to use OpenVPN to list the certificate, OpenVPN seems to load opensc-pkcs11 driver just fine but it sees nothing: Code: C:\Users\wfb>OpenVPN --verb 7 --show-pkcs11-ids C:/Windows/System32/opensc-pkcs11.dll Tue Feb 07 10:21:33 2017 us=433605 PKCS#11: Adding provider 'C:/Windows/System32/opensc-pkcs11.dll'-'C:/Windows/System32/opensc-pkcs11.dll' Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Provider 'C:/Windows/System32/opensc-pkcs11.dll' added rv=0-'CKR_OK' The following objects are available for use. Each object shown below may be used as parameter to --pkcs11-id option please remember to use single quote mark. Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Terminating openssl Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Removing providers Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Removing provider 'C:/Windows/System32/opensc-pkcs11.dll' Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Releasing sessions Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Terminating slotevent Tue Feb 07 10:21:33 2017 us=464805 PKCS#11: Marking as uninitialized On Linux, same key, same command (with Linux .so obviously): Code: wibou ~ $ openvpn --verb 7 --show-pkcs11-ids /usr/lib64/opensc-pkcs11.so Tue Feb 7 10:37:03 2017 us=516719 PKCS#11: Adding provider '/usr/lib64/opensc-pkcs11.so'-'/usr/lib64/opensc-pkcs11.so' Tue Feb 7 10:37:03 2017 us=524160 PKCS#11: Provider '/usr/lib64/opensc-pkcs11.so' added rv=0-'CKR_OK' Tue Feb 7 10:37:03 2017 us=608454 PKCS#11: Creating a new session Tue Feb 7 10:37:03 2017 us=608513 PKCS#11: Get certificate attributes failed: 179:'CKR_SESSION_HANDLE_INVALID' The following objects are available for use. Each object shown below may be used as parameter to --pkcs11-id option please remember to use single quote mark. Tue Feb 7 10:37:03 2017 us=609156 PKCS#11: Using cached session Certificate DN: C=CA, ST=Quebec, L=Montreal, O=MY ORGANISATION, CN=MY NAME, emailAddress=MY_EMAIL@EMAIL.COM Serial: 1A Serialized id: piv_II/PKCS\x2315\x20emulated/00000000/PIV_II\x20\x28PIV\x20Card\x20Holder\x20pin\x29/02 Tue Feb 7 10:37:03 2017 us=609495 PKCS#11: Terminating openssl Tue Feb 7 10:37:03 2017 us=609527 PKCS#11: Removing providers Tue Feb 7 10:37:03 2017 us=609556 PKCS#11: Removing provider '/usr/lib64/opensc-pkcs11.so' Tue Feb 7 10:37:03 2017 us=610466 PKCS#11: Releasing sessions Tue Feb 7 10:37:03 2017 us=610508 PKCS#11: Marking as uninitialized (The error about 'CKR_SESSION_HANDLE_INVALID' is weird but it does not seem to matter). There seems to be some people reporting various success: https://community.openvpn.net/openvpn/ticket/740 https://www.sparklabs.com/forum/viewtopic.php?f=9&t=2253 But it's never quite clear how they did it and what they were using. Since OpenSC release 0.16.0 is a bit old, I'm beginning to suspect it could only work on the latest (unreleased, unpackaged) development branch. Did anyone here had some success storing PKCS#11 in PIV slots on Windows? Any hint? |
Page 1 of 1 | All times are UTC + 1 hour |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |