private Object CreateHashAlgorithm()
{
// Use the SHA512 hashing algorithm
//CObjectId lHashAlgorithm = new CObjectId();
Type lCObjectIdType = Type.GetTypeFromProgID("X509Enrollment.CObjectId");
Object lHashAlgorithm = Activator.CreateInstance(lCObjectIdType);
//lHashAlgorithm.InitializeFromAlgorithmName(ObjectIdGroupId.XCN_CRYPT_HASH_ALG_OID_GROUP_ID, ObjectIdPublicKeyFlags.XCN_CRYPT_OID_INFO_PUBKEY_ANY,
// AlgorithmFlags.XCN_ALGORITHM_FLAGS_NONE, this.fHashAlgorithm);
lCObjectIdType.InvokeMember("InitializeFromAlgorithmName", BindingFlags.InvokeMethod, null, lHashAlgorithm,
new Object[] { XCN_CRYPT_HASH_ALG_OID_GROUP_ID, XCN_CRYPT_OID_INFO_PUBKEY_ANY, XCN_ALGORITHM_FLAGS_NONE, this.fHashAlgorithm });
return lHashAlgorithm;
}