Skip to content
A Ruby library for verifying, decoding, decrypting and parsing Yubikey one-time passwords.
Branch: master
Clone or download
This branch is 57 commits behind titanous:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
lib
spec
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION.yml
yubikey.gemspec

README.rdoc

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.timestamp}" #=> 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

Ruby library

Written by Jonathan Rudenberg <jon335@gmail.com>
Copyright (c) 2009 Jonathan Rudenberg
The MIT License. See LICENSE.

Contributors

Carl Byström
Erik Ruwalder
You can’t perform that action at this time.