Skip to content

A Ruby library for verifying, decoding, decrypting and parsing Yubikey one-time passwords.

License

Notifications You must be signed in to change notification settings

mudbugmedia/yubikey

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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(:id => 1234,
                                 :key => 'NiSwGZBQ0gTbwXbRGWAf4kM5xXg=',
                                 :otp => 'ccccccbfueddtinbknckgcbfnnbhbnlkcuebtgcvuurg')

  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
Chris Benedict at Mudbug Media

About

A Ruby library for verifying, decoding, decrypting and parsing Yubikey one-time passwords.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%