StandardDigitalSignature 1.23.6.11
dotnet add package StandardDigitalSignature --version 1.23.6.11
NuGet\Install-Package StandardDigitalSignature -Version 1.23.6.11
<PackageReference Include="StandardDigitalSignature" Version="1.23.6.11" />
paket add StandardDigitalSignature --version 1.23.6.11
#r "nuget: StandardDigitalSignature, 1.23.6.11"
// Install StandardDigitalSignature as a Cake Addin #addin nuget:?package=StandardDigitalSignature&version=1.23.6.11 // Install StandardDigitalSignature as a Cake Tool #tool nuget:?package=StandardDigitalSignature&version=1.23.6.11
Standard Digital Signature
Easy-to-use library for creating digital identities based on encryption and digital signature of document and validation of signatures. The standard digital signature project has a universal target, and can be run on both Linux and Windows systems on x86, x64 and ARM platforms.
This standard method can be used to generate a digital signature. Digital signatures are used to detect unauthorized modifications to data and to authenticate the identity of the signatory. In addition, the recipient of signed data can use a digital signature as evidence in demonstrating to a third party that the signature was, in fact, generated by the claimed signatory. This is known as non-repudiation since the signatory cannot easily repudiate the signature at a later time.
The Digital Signature Algorithm (DSA) is a public-key cryptosystem and Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular exponentiation and the discrete logarithm problem. DSA is a variant of the Schnorr and ElGamal signature schemes.
The National Institute of Standards and Technology (NIST) proposed DSA for use in their Digital Signature Standard (DSS) in 1991, and adopted it as FIPS 186 in 1994.
Overview
The DSA works in the framework of public-key cryptosystems and is based on the algebraic properties of modular exponentiation, together with the discrete logarithm problem, which is considered to be computationally intractable. The algorithm uses a key pair consisting of a public key and a private key. The private key is used to generate a digital signature for a message, and such a signature can be verified by using the signer's corresponding public key. The digital signature provides message authentication (the receiver can verify the origin of the message), integrity (the receiver can verify that the message has not been modified since it was signed) and non-repudiation (the sender cannot falsely claim that they have not signed the message).
Digital Signature Standard (DSS) - technical documentation
Digital Security Foundation
The Digital Security Foundation is an independent organization that deals with the development of the digital signature standard by adopting rigorous mathematical criteria and entirely open source code starting from the programming language and all the libraries used, this makes the source fully inspectable by experts in cryptography and programming. Any suggestions on how to improve this software, how to evolve it and on new features to add, will be seriously considered and a group of experts belonging to the foundation will carry out rigorous research on the new development of the digital signature management library. If you have special academic skills, you can contribute to the work of the foundation by becoming an active member.
DSS candidate
The foundation for digital security, a free and independent NGO, proposes this software solution as a new candidate for the standard DSS adopted by the European Union, as it offers objective advantages: Simplicity of use, mass adoption worldwide, no cost to the community and for the European Union as the development is not supported by national funds but is based on voluntary work, and the use of an underlying completely open source and free environment (the dispute between Google and Oracle on Java has shown how much Java is bound to proprietary solutions ). The main purpose of this library is to replace the vague and confusing solutions, with more modern and scalable technologies, compatible with the eIDAS regulation.
Privacy policy
The identity is created anonymously, in compliance with privacy and the GDPR. Eventually a name can be assigned to the digital identity with an external passage to this project which consists of a verification through a KYC procedure. In any case, the theory says that digital identity, to be confirmed, simply needs proof of having the private encryption key, sensitive data are not involved in this operation.
Usage example
Usage: For usage examples, documentation and assistance please refer to the open source project page
API documentation
NOTE:
1) Sign a document
The example for digitally signing a document in a very simple and minimalist way is contained entirely on page Signature.razor. The digital signature is placed on a separate file keeping the original document unaltered which will continue to be viewable with a standard viewer. The validation of the signature then takes place by subjecting both files to verification: The original document and the separate file with the digital signature generated by this tool.
2) Digital signature validation
A simple example of digital signature validation is contained in page SignatureValidation.razor. To verify the digital signature, you need the original document, plus the attached file with the digital signature. In the case of multiple digital signatures, there will therefore be multiple digital signature files, each generated by each individual person who signed the document.
Assistance
For help and support you can ask here https://github.com/Andrea-Bruno/StandardDigitalSignature/issues
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- NBitcoin (>= 7.0.26)
- SecureStorage (>= 1.23.5.29)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.