Metadata >> NuGet >> OtpSharp

OtpSharp

Metadata

Authors Devin Martin
Copyrights Copyright 2012-2013 Devin Martin
Description This is an implementation of HOTP and TOTP which are commonly used for multi factor authentication by using a shared key between the client and the server to generate and verify one time use codes. This library is capable of generating and verifying both TOTP and HOTP authentication codes. The calculations in this library are known to be compatible with Google 2-Step Verification and consequently the Google Authenticator smartphone app. It is also known to be able to generate codes for Amazon Web Services Multi Factor Authentication and Dropbox 2 step authentication. It should work with any other service or client that is RFC compliant. This library is released under an MIT license. No warranty is provided as to the correctness of the library and the consumer of the library assumes all risk for the use thereof, as per the MIT license. Every effort has gone into implementing this library in accordance with the RFCs mentioned above. However it is up to the users of this library to read through the RFCs and ensure that this implementation is in accordance with the security procedures outlined therein. The implementation includes the code calculation as well as simple verification. Persistence of the keys, secure key storage, ensuring that a single code can't be validated multiple times and other things are not a part of this library. Thus far those functions (and any others mentioned in the RFCs) are up to the consumer of this library. For documentation please visit the project website.
LicenseUrl https://s3.amazonaws.com/OtpSharp/LICENSE.txt
Owners Devin Martin
ProjectUrl https://bitbucket.org/devinmartin/otp-sharp/wiki/Home
ReleaseNotes 1.3 Sign the assembly 1.2 extract base32 functionality into seperate nuget package (Base32). Implement FromUrl functionality 1.1 Change the Key api to no longer require returning the plaintext key. (will break any custom key implementations). Move the get URL from the Otp to a static Url type. 1.0.6 Change the computed values from ints to padded strings. (Breaking change but is a more appropriate API) 1.0.5 Change package name from OTP-Sharp to OtpSharp 1.0.4 Changed the Protected Key API to be more explicit (may break existing direct useage of the protected key) The protected key no longer implicitly causes side effects (destroying the plaintext key provided must be done explicitly) Added a time correction class with experimental NTP abilities.
RequireLicenseAcceptance True
Summary An implementation of HOTP or HMAC One Time Paswords (RFC 4226) and TOTP or Timed One Time Passwords (RFC 6238) in C#. Additionally contains a base 32 encoder.
Tags authentication OATH totp otp hotp base32 multi-factor two-factor factor security login OATH-HOTP OATH-TOTP linqpad-samples
Dependencies Base32:1.0.0.12
Title OTP Sharp
PackageSize 52839
PackageHashAlgorithm SHA512
PackageHash wUqjBcYMVqNMsHJ5pIHROy9Ew1Yr+WeKOZm3PuP+woDWAsvgBJ6fKspJUQuXpRZtI4zwkJyBMcbwLZE8xQG+EA==
DownloadCount 000000
CreatedDate 2015-01-17T18:04:00

Access

You can access data for this project using the tools and addresses described below.

NuGet (nuget.exe)

Installing the package (HTTP Basic authentication):
nuget install OtpSharp -Source     http://nuget.gw.symbolsource.org/Public/NuGet/FeedService.mvc
Installing the package (pre-authenticated):
nuget install OtpSharp -Source     http://nuget.gw.symbolsource.org/Public/%login%/%key%/NuGet/FeedService.mvc

NuGet (Package Manager Console)

Installing the package (search all configured feeds):
Install-Package OtpSharp
Installing the package (HTTP Basic authentication):
Install-Package OtpSharp -Source     http://nuget.gw.symbolsource.org/Public/NuGet/FeedService.mvc
Installing the package (pre-authenticated):
Install-Package OtpSharp -Source     http://nuget.gw.symbolsource.org/Public/%login%/%key%/NuGet/FeedService.mvc
Uinstalling the package:
Uninstall-Package OtpSharp

OpenWrap

Installing the package:
o add-wrap OtpSharp
Uninstalling the package:
o remove-wrap OtpSharp

Versions

A version is snapshot of a project's source code. It does not need to follow the Major.Minor.Revision.Build numbering pattern. It can be an arbitrary string of text that identifies a release or a build, in particular including meaningful words like beta, RC or RTM.

Name Related
1.3.0.2