yubikey
Description
A library to verify, decode, decrypt and parse Yubikey one-time passwords.
Usage
OTP Decryption
key = 'ecde18dbe76fbd0c33330f1c354871db'
otp = 'dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh'
token = Yubikey::OTP.new(otp, key)
p "Device public id: #{token.public_id}" #=> 'dteffuje'
p "Device secret id: #{token.secret_id}" #=> '8792ebfe26cc'
p "Device insertions: #{token.insert_counter}" #=> 19
p "Session activation counter: #{token.session_counter}" #=> 17
p "Session timestamp: #{token.}" #=> 49712
p "OTP random data: #{token.random_number}" #=> 40904
OTP Verification
begin
otp = Yubikey::OTP::Verify.new('dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh')
if otp.valid?
p 'valid OTP'
elsif otp.replayed?
p 'replayed OTP'
end
rescue Yubikey::OTP::InvalidOTPError
p 'invalid OTP'
end
Install
sudo gem install yubikey
Copyright
Ruby library
Written by Jonathan Rudenberg <[email protected]>
Copyright (c) 2009 Jonathan Rudenberg
The MIT License. See LICENSE.
Contributors
Erik Ruwalder
AES and CRC code
Written by Simon Josefsson <[email protected]>
Copyright (c) 2006, 2007, 2008, 2009 Yubico AB