Module: U2F

Defined in:
lib/u2f.rb,
lib/u2f/u2f.rb,
lib/version.rb,
lib/u2f/errors.rb,
lib/u2f/client_data.rb,
lib/u2f/registration.rb,
lib/u2f/request_base.rb,
lib/u2f/sign_request.rb,
lib/u2f/sign_response.rb,
lib/u2f/register_request.rb,
lib/u2f/register_response.rb

Defined Under Namespace

Modules: RequestBase Classes: AttestationDecodeError, AttestationSignatureError, AttestationVerificationError, AuthenticationFailedError, ClientData, ClientDataTypeError, CounterTooLowError, Error, FakeU2F, NoMatchingRegistrationError, NoMatchingRequestError, PublicKeyDecodeError, RegisterRequest, RegisterResponse, Registration, RegistrationError, SignRequest, SignResponse, U2F, UnmatchedChallengeError, UserNotPresentError

Constant Summary collapse

DIGEST =
OpenSSL::Digest::SHA256
VERSION =
'1.0.0'

Class Method Summary collapse

Class Method Details

.urlsafe_decode64(string) ⇒ Object

Variant of Base64::urlsafe_decode64 which adds padding if necessary



170
171
172
173
174
175
176
177
178
# File 'lib/u2f/u2f.rb', line 170

def self.urlsafe_decode64(string)
  string = case string.length % 4
    when 2 then string + '=='
    when 3 then string + '='
    else
      string
  end
  Base64.urlsafe_decode64(string)
end

.urlsafe_encode64(string) ⇒ Object

Variant of Base64::urlsafe_encode64 which removes padding



183
184
185
# File 'lib/u2f/u2f.rb', line 183

def self.urlsafe_encode64(string)
  Base64.urlsafe_encode64(string).delete('=')
end