All Projects → WindowsNT → AdES

WindowsNT / AdES

Licence: MIT license
An Implementation of CAdES, XAdES, PAdES and ASiC for Windows in C++

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to AdES

Aes
Verilog implementation of the symmetric block cipher AES (Advanced Encryption Standard) as specified in NIST FIPS 197. This implementation supports 128 and 256 bit keys.
Stars: ✭ 131 (+351.72%)
Mutual labels:  asic
geonetworking
ETSI ITS G5 GeoNetworking stack, in Java: CAM-DENM / ASN.1 PER / BTP / GeoNetworking
Stars: ✭ 93 (+220.69%)
Mutual labels:  etsi
riscv-cores-list
RISC-V Cores, SoC platforms and SoCs
Stars: ✭ 651 (+2144.83%)
Mutual labels:  asic
Antminer Monitor
Cryptocurrency ASIC mining hardware monitor using a simple web interface
Stars: ✭ 176 (+506.9%)
Mutual labels:  asic
mimesniff
MIME Sniffing Standard
Stars: ✭ 89 (+206.9%)
Mutual labels:  mime
enough mail
IMAP, POP3 and SMTP clients for Dart developers. Contains both low level as well as a high level API.
Stars: ✭ 78 (+168.97%)
Mutual labels:  mime
Skywater Pdk
Open source process design kit for usage with SkyWater Technology Foundry's 130nm node.
Stars: ✭ 1,765 (+5986.21%)
Mutual labels:  asic
hiveos-asic
Hive OS client for ASICs
Stars: ✭ 144 (+396.55%)
Mutual labels:  asic
awesome-hwd-tools
A curated list of awesome open source hardware design tools
Stars: ✭ 42 (+44.83%)
Mutual labels:  asic
opnfv-cloudify-clearwater
vIMS Clearwater deployment and lifecycle management with Cloudify Orchestrator
Stars: ✭ 32 (+10.34%)
Mutual labels:  etsi
Biriscv
32-bit Superscalar RISC-V CPU
Stars: ✭ 208 (+617.24%)
Mutual labels:  asic
Dmg Cpu Inside
Reverse-engineered schematics for DMG-CPU-B
Stars: ✭ 230 (+693.1%)
Mutual labels:  asic
Mail Mime
Create MIME messages with PHP
Stars: ✭ 42 (+44.83%)
Mutual labels:  mime
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (+413.79%)
Mutual labels:  asic
carrot-pool-stratum
Bitcoin Stratum Pool Plugin ⛏ 📦 🔌
Stars: ✭ 22 (-24.14%)
Mutual labels:  asic
Open Register Design Tool
Tool to generate register RTL, models, and docs using SystemRDL or JSpec input
Stars: ✭ 126 (+334.48%)
Mutual labels:  asic
padring
A padring generator for ASICs
Stars: ✭ 19 (-34.48%)
Mutual labels:  asic
node-red-contrib-FIWARE official
FIWARE-Node-Red integration supporting NGSI-LD
Stars: ✭ 14 (-51.72%)
Mutual labels:  etsi
stellio-context-broker
Stellio is an NGSI-LD compatible context broker
Stars: ✭ 17 (-41.38%)
Mutual labels:  etsi
carrot-pool
Mining Pools Made Easy. ⛏ 📦 🏆
Stars: ✭ 53 (+82.76%)
Mutual labels:  asic

AdES

A C++ library for Windows to create CAdES (B,T,C,X,XL), XAdES (B-T,C,X,XL) and PAdES (B-B,B-T,B-XL) messages. Also supports ASiC-S and ASiC-E with both CAdES and XAdES. 100% ETSI Compliant. Article at CodeProject: https://www.codeproject.com/Articles/1256991/AdES-An-implementation-of-CAdES-for-Windows-in-Cpl

CAdES

Quick guide:

HRESULT Sign(LEVEL lev,const char* data,DWORD sz,const std::vector<CERT>& Certificates, SIGNPARAMETERS& Params,std::vector<char>& Signature);
HRESULT Verify(const char* data, DWORD sz, LEVEL& lev,const char* omsg = 0,DWORD len = 0,std::vector<char>* msg = 0,std::vector<PCCERT_CONTEXT>* Certs = 0,VERIFYRESULTS* vr = 0);

Where

  • lev, enumeration from LEVEL: CMS,B,T,C,X or XL
  • data/sz, the data to sign
  • Certificates, a list of certificates to use for signing. Each CERT contains the certificate, CRLs, and more validation certificates
  • Params, additional parameters, including timestamp server, policy, commitment type, attach method etc.

In Verify()

  • data/sz, the signature to verify
  • lev, gets the detected level
  • omsg/len, the original data if the signature was detached
  • msg/certs/results, returned message, certificates used, and other data (policy, commitment type etc)

XAdES

Quick guide:

struct FILEREF
{
	const char* data = 0; // pointer to data
	DWORD sz = 0; // size, or 0 if null terminated XML
	const char* ref = 0;
	std::string mime = "application/octet-stream";
};
HRESULT XMLSign(LEVEL lev, std::vector<FILEREF>& data,const std::vector<CERT>& Certificates,SIGNPARAMETERS& Params, std::vector<char>& Signature);

// Currently XMLDSIG only
HRESULT XMLVerify(const char* xmldata, LEVEL& lev, ATTACHTYPE& att, const char* omsg, DWORD len, bool WasDetachedCanonicalized,std::vector<PCCERT_CONTEXT> * Certs, VERIFYRESULTS * vr);

PAdES

Quick guide:

HRESULT PDFSign(LEVEL lev,const char* data,DWORD sz,const std::vector<CERT>& Certificates, SIGNPARAMETERS& Params,std::vector<char>& Signature);

ASiC

Quick guide:

HRESULT ASiC(ALEVEL alev,ATYPE typ, LEVEL lev,std::vector<FILEREF>& data,std::vector<CERT>& Certificates, SIGNPARAMETERS& Params, std::vector<char>& fndata);

EXE

Quick guide:

HRESULT PESign(LEVEL lev,const char* data,DWORD sz,const std::vector<CERT>& Certificates, SIGNPARAMETERS& Params,std::vector<char>& Signature);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].