Cryptographic Utilities and Notes


.NET 4 Prime Number Sieve of Eratosthenes .NET C#
.NET 4 Rabin-Miller Primality Tester .NET C#
.NET 4 BigInteger and RSA Signature and Encryption .NET C#
MD5, SHA1, SHA256, SHA512 of string or file .NET C#
Content and Code-signing: Authenticode, JAR-signing, PKCS #7 Informational
Authenticode signature/timestamp verification utility CAPICOM, VBS
RSA Public, Private, and PKCS #8 key parser OpenSSL, .NET C#
Keycontainer Key to PKCS12 Exporter .NET C#
PKCS12 file certs CAPICOM, VBS
Associate a keycontainer with a certificate CAPICOM, VBS
File and file-signature hash CryptoAPI, C
Display X509Certificates for SignedXML Document .NET, XML, P/Invoke
VerifyCertSigner: X.509 Certificate File Validity Check CryptoAPI, C#, P/Invoke
IsCertTrusted: X.509 Certificate File Validity Check Java
Password-based Key Derivation PKCS #5 v1.5 .NET C# OpenSSL, Java
PUBLICKEYBLOB to RSAPublicKey and SubjectPublicKeyInfo C, CryptoAPI
RSA PublicKey to Java PublicKey Converter Java, CryptoAPI
CryptoAPI PUBLICKEYBLOB to Java PublicKey Converter Java, CryptoAPI
X.509 SubjectPublicKeyInfo to CryptoAPI PUBLICKEYBLOB & .NET XML key Converter Java, CryptoAPI
Certificate Public Key Extractor Java, CryptoAPI
CryptoAPI PRIVATEKEYBLOB to Java PrivateKey Converter Java, CryptoAPI
PKCS#8 to CryptoAPI PRIVATEKEYBLOB & .NET XML RSA key Converter Java, CryptoAPI
PKCS #8 PrivateKeyInfo dumper Java
PKCS #8 EncryptedPrivateKeyInfo encryption (PBE) Java
Pempublic: X.509 SubjectPublicKeyInfo Decoder .NET C#
RSAKeyblob: RSA CryptoAPI public/private keyblob parser .NET C#
SimCrypt.NET: AES 256 bit Encryption Tool .NET C#
BigIntegers: Using J# Redistributable Classes .NET C#, J#
Symmetric Encryption: .NET, CryptoAPI and Java 2 .NET C#, CryptoAPI, Java 2
RSA Encryption/Decryption: .NET, Java 2 and CryptoAPI .NET C#, Java
Understanding CAPICOM EncryptedData .NET C#, CAPICOM
OIDInfo: Get friendly name of dotted OID .NET C#
KeyPal: CryptoAPI key-container tool .NET C#, P/Invoke
UniqueKeyContainer Files .NET C#
AuthAttr: CMS/PKCS#7 Certs and Signed Message Authenticated Attributes .NET C#, P/Invoke
EnvelInfo: CMS/PKCS#7 Enveloped Message Recipients and Encryption Algorithm .NET C#, P/Invoke
VerifySig: Verify a PKCS#1 v1.5 signature .NET C#, P/Invoke
SSL Client Certificates and CAPICOM .NET C#, CAPICOM, ASP.NET
CertAttributes: Accessing X509 Certificate Attributes .NET C#, P/Invoke
PFX: Using Portable Protected Private Key Containers .NET C#, P/Invoke
RSA Enveloping and .NET Encryption .NET C#, P/Invoke
CertCSP: Certificate Private KEY CSP Properties .NET C#, P/Invoke
DecEnvelop: Decode Any Enveloped File .NET C#, P/Invoke
CertToKey: Certificate To XML Public Key Converter by asn.1 parsing .NET C#
DecodeCertKey: Certificate File to publickey decoder .NET C#, P/Invoke
DecodeStoreKey: Store Certificate to publickey decoder .NET C#, P/Invoke
Java PKCS #1 Signatures with PKCS #12 keystores Java
.NET PKCS #1 Signatures .NET C#
Incremental hashing .NET C#, P/Invoke
Certificate Stores and RSACryptoServiceProvider .NET C#, CAPICOM
Java Cryptography Samples Java 1.4, Bouncy Castle
Generate strong random numbers MS Java, J/Direct IE; .NET C#, P/Invoke
Compute MD5/SHA-1 Hash Java, IE
List Available Cryptographic Algorithms C
JaCrypt Enveloping/Denveloping Utility MS Java, CAPICOM
Certificate and KeyContainer Utility MS Java, CAPICOM
Authenticode Signature Verification Utility .NET C#; MS Java
Signing web-page content CAPICOM, VBS, IE
J-PKCS7: Sign, envelop and verify file from IE CAPICOM, VBS, Java, IE
Using CAPICOM with ASP/IIS CAPICOM, ASP/VBS
Verifying CMS/PKCS #7 Signatures CAPICOM, VBS
Decrypt PKCS #7 Enveloped Messages CAPICOM, VBS
Certificate store and key container enumerator CAPICOM, VBS, WMI
Retrieving Web Certificates CAPICOM, VBS
.NET Cryptography, CryptoAPI and CAPICOM Information
Viewing X509 Certificates in .NET Information
Anatomy of an X.509 v3 certificate Information
Anatomy of a CMS/pkcs#7 signature Information
S/MIME Signature Verification Information
How big are RSA keypairs Information: CryptoAPI
JkeyNet: Using ASN.1 encoded public keys in .NET Information: .NET C#, Java, C
.NET Key types: AT_KEYEXCHANGE & AT_SIGNATURE Information: .NET C#, Java, C
.NET XMLDSIG: What's My Hash? Information: XLMDSIG, .NET
PEM RSA Private Key Information: OpenSSL, Java

MSDN Article: Extending .NET Cryptography with CAPICOM and P/Invoke
MSDN Article: Encryption in .NET with CryptoAPI Certificate Stores
MSDN Article: PKCS #12 File Types: Portable Protected Keys in .NET


NOTE: These utilities and sample code are made available as-is with no support or guarantee of performance. They are intended to demonstrate specific technical implementation details with minimal error checking. Use at your own risk.