Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
require 'rack/oauth2'
require 'json/jwt'
def get(endpoint, format = :jwt)
res = Rack::OAuth2.http_client.get endpoint
case format
when :jwt
JSON::JWT.decode res.body, :skip_verification
when :b64
JSON.parse Base64.decode64(res.body)
end
end
root_endpoint = 'https://mds.fidoalliance.org'
per_methods = {}
list = get root_endpoint
list['entries'].each do |_entry_|
print '.' and STDOUT.flush
entry = get _entry_['url'], :b64
user_verification_methods = entry['userVerificationDetails'].first.collect do |method|
case method['userVerification']
when 0x01
:presence
when 0x02
:fingerprint
when 0x04
:passcode
when 0x08
:voiceprint
when 0x10
:faceprint
when 0x18
:voiceprint_and_faceprint
when 0x20
:location
when 0x40
:eyeprint
when 0x80
:pattern
when 0x100
:handprint
when 0x200
:none
when 0x400
:all
end
end
user_verification_methods.each do |method|
per_methods[method] ||= []
per_methods[method] << entry
end
end
puts
per_methods.each do |method, entries|
puts '# ' + method.to_s
descriptions = entries.collect do |entry|
entry['description']
end
puts descriptions
puts
end
puts "#{list['entries'].count} entries in total."
# passcode
ETRI SW Authenticator for SECP256R1_ECDSA_SHA256_Raw
ETRI Smart Watch Authenticator for SECP256R1_ECDSA_SHA256_Raw
ETRI Smart Card Authenticator for SECP256R1_ECDSA_SHA256_Raw
ETRI iOS PassCode Authenticator for RSASSA_PSS_SHA256_DER
CrucialSoft FIDO UAF PINCODE Authenticator
CrucialSoft FIDO UAF PINCODE Authenticator
CrucialSoft FIDO UAF PINCODE Authenticator
LGE FIDO UAF Authenticator v1.0
BTWorks FIDO UAF Authenticator 001E#0003
BTWorks FIDO UAF Authenticator 001E#0004
BTWorks FIDO UAF Authenticator 001E#0005
BTWorks FIDO UAF Authenticator 001E#0006
DREAM_Android SW Authenticator for SECP256R1_ECDSA_SHA256_Raw
DREAM_Android SW Authenticator for SECP256R1_ECDSA_SHA256_DER
DREAM_Android SW Authenticator for RSASSA_PSS_SHA256_RAW
DREAM_Android SW Authenticator for RSASSA_PSS_SHA256_DER
DREAM_Android SW Authenticator for SECP256K1_ECDSA_SHA256_Raw
DREAM_Android SW Authenticator for SECP256K1_ECDSA_SHA256_DER
DREAM_IOS SW Authenticator for RSASSA_PSS_SHA256_DER
SGASolutions UAF Authenticator
Touch ID or Passcode Authenticator
PIN Authenticator for Android
Passcode Authenticator for iOS
Touch ID Authenticator with UVS Behavior
Samsung Pass Authenticator for Android
DDS UAF MAGATAMA Authenticator for Android
DDS UAF MAGATAMA Authenticator for iOS
# presence
TouchID, Egis UAF authenticator 1.0 for iOS
# voiceprint
TrulySecure Face or Voice
TrulySecure Voice
# voiceprint_and_faceprint
TrulySecure Face and Voice
# faceprint
TrulySecure Face
# pattern
GOTrust FIDO Authenticator
# fingerprint
HUAWEI FIDO UAF AUTHENTICATOR
BTWorks FIDO UAF Authenticator
BTWorks FIDO UAF Authenticator
BTWorks FIDO UAF Authenticator 001E#0003
BTWorks FIDO UAF Authenticator 001E#0004
BTWorks FIDO UAF Authenticator 001E#0005
BTWorks FIDO UAF Authenticator 001E#0006
BTWorks FIDO UAF Authenticator for RSASSA_PSS_SHA256_RAW
Touch ID Authenticator with Key Deletion Behavior
Android Fingerprint Authenticator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment