Hace un tiempo atras me enteré que la gente de Mono Project habia creado una herramienta para chequear binarios .net y analizar nivel de compatibilidad. Como usuario de torrentflux, me gustaria actaulizar torrentfluxHandler con algo de funcionalidad extra y hacerlo andar en mono.

Aqui adjunto el reporte del analisis realizado para:

* TorrentFluxHandler2
* Org.Mentalis.Security.dll

———————————————————————————————————

 

MoMA Scan Results

Scan time: 19/05/2007 1:33:11

For descriptions of issues and what to do, see http://www.mono-project.com/MoMA_-_Issue_Descriptions.

 

TorrentFluxHandler2.exe

P/Invokes into native code

Calling Method P/Invoke Method External DLL
Class TorrentFluxHandler2.frmTFluxDebug:
void .ctor() IntPtr GetSystemMenu(IntPtr, int) user32.dll
void .ctor() int GetMenuItemCount(IntPtr) user32.dll
void .ctor() int RemoveMenu(IntPtr, int, int) user32.dll
void .ctor() int RemoveMenu(IntPtr, int, int) user32.dll
void .ctor() int DrawMenuBar(IntPtr) user32.dll
Class TorrentFluxHandler2.Interface.BalloonTips:
void NextBalloon() int Shell_NotifyIcon(BalloonTips/NotifyCommand, BalloonTips/NotifyIconData&) shell32.Dll
void EndTray() int Shell_NotifyIcon(BalloonTips/NotifyCommand, BalloonTips/NotifyIconData&) shell32.Dll
uint ShowBalloon(uint, string, string, uint) int Shell_NotifyIcon(BalloonTips/NotifyCommand, BalloonTips/NotifyIconData&) shell32.Dll
void .ctor(Icon, string) int Shell_NotifyIcon(BalloonTips/NotifyCommand, BalloonTips/NotifyIconData&) shell32.Dll

Org.Mentalis.Security.dll

P/Invokes into native code

Calling Method P/Invoke Method External DLL
Class Org.Mentalis.Security.Certificates.Certificate:
Certificate CreateFromCerFile(Byte[], int, int) IntPtr CertCreateCertificateContext(int, IntPtr, int) crypt32.dll
void InitCertificate(IntPtr, bool, CertificateStore) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
Object Clone() IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
void Finalize() int CertFreeCertificateContext(IntPtr) crypt32.dll
Byte[] GetCertHash(HashType) int CertGetCertificateContextProperty(IntPtr, int, IntPtr, Int32&) crypt32.dll
string GetIssuerName() int CertGetNameString(IntPtr, int, int, IntPtr, IntPtr, int) crypt32.dll
string GetIssuerName() int CertGetNameString(IntPtr, int, int, IntPtr, IntPtr, int) crypt32.dll
int GetPublicKeyLength() int CertGetPublicKeyLength(int, IntPtr) crypt32.dll
Extension FindExtension(string) IntPtr CertFindExtension(string, int, IntPtr) crypt32.dll
Object DecodeExtension(Extension, IntPtr, Type) int CryptDecodeObject(int, IntPtr, Byte[], int, int, IntPtr, Int32&) crypt32.dll
Object DecodeExtension(Extension, IntPtr, Type) int CryptDecodeObject(int, IntPtr, Byte[], int, int, IntPtr, Int32&) crypt32.dll
string GetName() int CryptDecodeObject(int, IntPtr, IntPtr, int, int, IntPtr, Int32&) crypt32.dll
string GetName() int CryptDecodeObject(int, IntPtr, IntPtr, int, int, IntPtr, Int32&) crypt32.dll
string GetName() IntPtr CertFindRDNAttr(string, IntPtr) crypt32.dll
string GetName() IntPtr CertFindRDNAttr(string, IntPtr) crypt32.dll
string GetName() IntPtr CertFindRDNAttr(string, IntPtr) crypt32.dll
int GetIntendedKeyUsage() int CertGetIntendedKeyUsage(int, IntPtr, IntPtr, int) crypt32.dll
StringCollection GetEnhancedKeyUsage() int CertGetEnhancedKeyUsage(IntPtr, int, IntPtr, Int32&) crypt32.dll
StringCollection GetEnhancedKeyUsage() int CertGetEnhancedKeyUsage(IntPtr, int, IntPtr, Int32&) crypt32.dll
bool HasPrivateKey() int CryptAcquireCertificatePrivateKey(IntPtr, int, IntPtr, Int32&, Int32&, Int32&) crypt32.dll
bool HasPrivateKey() int CryptReleaseContext(int, int) advapi32.dll
bool Equals(Certificate) int CertCompareCertificate(int, IntPtr, IntPtr) crypt32.dll
String[] GetValidUsages(Certificate[]) int CertGetValidUsages(int, IntPtr, Int32&, IntPtr, Int32&) crypt32.dll
String[] GetValidUsages(Certificate[]) int CertGetValidUsages(int, IntPtr, Int32&, IntPtr, Int32&) crypt32.dll
X509Certificate ToX509() IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
bool get_IsCurrent() int CertVerifyTimeValidity(IntPtr, IntPtr) crypt32.dll
Byte[] GetKeyIdentifier() int CertGetCertificateContextProperty(IntPtr, int, Byte[], Int32&) crypt32.dll
Byte[] GetKeyIdentifier() int CertGetCertificateContextProperty(IntPtr, int, Byte[], Int32&) crypt32.dll
RSA get_PrivateKey() int CryptAcquireCertificatePrivateKey(IntPtr, int, IntPtr, Int32&, Int32&, Int32&) crypt32.dll
RSA get_PrivateKey() int CryptReleaseContext(int, int) advapi32.dll
RSA get_PrivateKey() int CryptFindCertificateKeyProvInfo(IntPtr, int, IntPtr) crypt32.dll
RSA get_PrivateKey() int CertGetCertificateContextProperty(IntPtr, int, Byte[], Int32&) crypt32.dll
RSA get_PrivateKey() int CertGetCertificateContextProperty(IntPtr, int, IntPtr, Int32&) crypt32.dll
RSA get_PublicKey() int CryptImportPublicKeyInfoEx(int, int, CERT_PUBLIC_KEY_INFO&, int, int, IntPtr, Int32&) crypt32.dll
RSA get_PublicKey() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
RSA get_PublicKey() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
RSA get_PublicKey() int CryptDestroyKey(int) advapi32.dll
void AssociateWithPrivateKey(string, string, bool) int CryptImportKey(int, Byte[], int, int, int, Int32&) advapi32.dll
void AssociateWithPrivateKey(string, string, bool) int CertSetCertificateContextProperty(IntPtr, int, int, CRYPT_KEY_PROV_INFO&) crypt32.dll
void AssociateWithPrivateKey(string, string, bool) int CryptDestroyKey(int) advapi32.dll
void ExportPrivateKey(string, string) int CryptAcquireCertificatePrivateKey(IntPtr, int, IntPtr, Int32&, Int32&, Int32&) crypt32.dll
void ExportPrivateKey(string, string) int CryptGetUserKey(int, int, Int32&) advapi32.dll
void ExportPrivateKey(string, string) int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
void ExportPrivateKey(string, string) int CryptExportKey(int, int, int, int, Byte[], Int32&) advapi32.dll
void ExportPrivateKey(string, string) int CryptReleaseContext(int, int) advapi32.dll
bool VerifyRevocation(Byte[]) IntPtr CertCreateCRLContext(int, Byte[], int) crypt32.dll
bool VerifyRevocation(Byte[]) int CertFindCertificateInCRL(IntPtr, IntPtr, int, IntPtr, IntPtr&) crypt32.dll
Class Org.Mentalis.Security.Certificates.CertificateChain:
void Finalize() void CertFreeCertificateChain(IntPtr) crypt32.dll
Certificate[] GetCertificates() IntPtr CertGetIssuerCertificateFromStore(IntPtr, IntPtr, IntPtr, Int32&) crypt32.dll
CertificateStatus VerifyChain(string, AuthType, VerificationFlags) int CertVerifyCertificateChainPolicy(IntPtr, IntPtr, ChainPolicyParameters&, ChainPolicyStatus&) crypt32.dll
void .ctor(Certificate, CertificateStore, CertificateChainOptions) int CertGetCertificateChain(IntPtr, IntPtr, IntPtr, IntPtr, ChainParameters&, int, IntPtr, IntPtr&) crypt32.dll
Class Org.Mentalis.Security.Certificates.CertificateStore:
CertificateStore CreateFromPfxFile(Byte[], string, bool, KeysetLocation) int PFXIsPFXBlob(DataBlob&) crypt32.dll
CertificateStore CreateFromPfxFile(Byte[], string, bool, KeysetLocation) int PFXVerifyPassword(DataBlob&, string, int) crypt32.dll
CertificateStore CreateFromPfxFile(Byte[], string, bool, KeysetLocation) IntPtr PFXImportCertStore(DataBlob&, string, int) crypt32.dll
CertificateStore CreateFromCerFile(string) IntPtr CertOpenStore(IntPtr, int, int, int, string) crypt32.dll
void InitStore(IntPtr, bool) IntPtr CertDuplicateStore(IntPtr) crypt32.dll
Certificate FindCertificate(Certificate) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
Certificate FindCertificate(Certificate) IntPtr CertFindCertificateInStore(IntPtr, int, int, int, IntPtr, IntPtr) crypt32.dll
Certificate FindCertificateByUsage(String[], Certificate) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
Certificate FindCertificateByUsage(String[], Certificate) IntPtr CertFindUsageCertificateInStore(IntPtr, int, int, int, TrustListUsage&, IntPtr) crypt32.dll
Certificate FindCertificateByHash(Byte[], HashType) IntPtr CertFindDataBlobCertificateInStore(IntPtr, int, int, int, DataBlob&, IntPtr) crypt32.dll
Certificate FindCertificateByKeyIdentifier(Byte[]) IntPtr CertFindDataBlobCertificateInStore(IntPtr, int, int, int, DataBlob&, IntPtr) crypt32.dll
Certificate FindCertificateBySubjectName(string, Certificate) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
Certificate FindCertificateBySubjectName(string, Certificate) int CertStrToName(int, string, int, IntPtr, IntPtr, Int32&, IntPtr) crypt32.dll
Certificate FindCertificateBySubjectName(string, Certificate) int CertStrToName(int, string, int, IntPtr, IntPtr, Int32&, IntPtr) crypt32.dll
Certificate FindCertificateBySubjectName(string, Certificate) IntPtr CertFindDataBlobCertificateInStore(IntPtr, int, int, int, DataBlob&, IntPtr) crypt32.dll
Certificate FindCertificateBySubjectString(string, Certificate) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
Certificate FindCertificateBySubjectString(string, Certificate) IntPtr CertFindStringCertificateInStore(IntPtr, int, int, int, string, IntPtr) crypt32.dll
Byte[] GetPfxBuffer(string, bool) int PFXExportCertStoreEx(IntPtr, DataBlob&, string, IntPtr, int) crypt32.dll
Byte[] GetPfxBuffer(string, bool) int PFXExportCertStoreEx(IntPtr, DataBlob&, string, IntPtr, int) crypt32.dll
Byte[] GetCerBuffer(CertificateStoreType) int CertSaveStore(IntPtr, int, int, int, DataBlob&, int) crypt32.dll
Byte[] GetCerBuffer(CertificateStoreType) int CertSaveStore(IntPtr, int, int, int, DataBlob&, int) crypt32.dll
void AddCertificate(Certificate) int CertAddCertificateContextToStore(IntPtr, IntPtr, int, IntPtr) crypt32.dll
void DeleteCertificate(Certificate) IntPtr CertDuplicateCertificateContext(IntPtr) crypt32.dll
void DeleteCertificate(Certificate) int CertDeleteCertificateFromStore(IntPtr) crypt32.dll
void Finalize() int CertCloseStore(IntPtr, int) crypt32.dll
void .ctor(StoreLocation, string) IntPtr CertOpenStore(IntPtr, int, int, int, string) crypt32.dll
void .ctor() IntPtr CertOpenStore(IntPtr, int, int, int, string) crypt32.dll
void .ctor(Byte[], CertificateStoreType) IntPtr CertOpenStoreData(IntPtr, int, IntPtr, int, DataBlob&) crypt32.dll
Class Org.Mentalis.Security.Certificates.CertificateStoreCollection:
void AddStore(CertificateStore) int CertAddStoreToCollection(IntPtr, IntPtr, int, int) crypt32.dll
void RemoveStore(CertificateStore) void CertRemoveStoreFromCollection(IntPtr, IntPtr) crypt32.dll
void .ctor(CertificateStore[]) IntPtr CertOpenStore(IntPtr, int, int, int, string) crypt32.dll
void .ctor(CertificateStore[]) int CertAddStoreToCollection(IntPtr, IntPtr, int, int) crypt32.dll
void .ctor(CertificateStoreCollection) IntPtr CertOpenStore(IntPtr, int, int, int, string) crypt32.dll
void .ctor(CertificateStoreCollection) int CertAddStoreToCollection(IntPtr, IntPtr, int, int) crypt32.dll
Class Org.Mentalis.Security.Certificates.DistinguishedName:
void .ctor(IntPtr, int) int CryptDecodeObject(int, IntPtr, IntPtr, int, int, IntPtr, Int32&) crypt32.dll
void .ctor(IntPtr, int) int CryptDecodeObject(int, IntPtr, IntPtr, int, int, IntPtr, Int32&) crypt32.dll
Class Org.Mentalis.Security.Cryptography.CAPIProvider:
void CreateInternalHandle(Int32&, string) int CryptAcquireContext(Int32&, string, string, int, int) advapi32.dll
void CreateInternalHandle(Int32&, string) int CryptAcquireContext(Int32&, string, string, int, int) advapi32.dll
void CreateInternalHandle(Int32&, string) int CryptAcquireContext(Int32&, string, string, int, int) advapi32.dll
void CreateInternalHandle(Int32&, string) int CryptAcquireContext(Int32&, string, string, int, int) advapi32.dll
void Finalize() int CryptReleaseContext(int, int) advapi32.dll
void Finalize() int CryptReleaseContext(int, int) advapi32.dll
Class Org.Mentalis.Security.Cryptography.DataProtectionCryptoServiceProvider:
Byte[] ProtectData(ProtectionType, Byte[], int, int, Byte[]) int CryptProtectData(DataBlob&, string, DataBlob&, IntPtr, IntPtr, int, DataBlob&) crypt32.dll
Byte[] UnprotectData(Byte[], int, int, Byte[]) int CryptUnprotectData(DataBlob&, IntPtr, DataBlob&, IntPtr, IntPtr, int, DataBlob&) crypt32.dll
Class Org.Mentalis.Security.Cryptography.MD2CryptoServiceProvider:
void Initialize() int CryptDestroyHash(int) advapi32.dll
void Initialize() int CryptCreateHash(int, int, int, int, Int32&) advapi32.dll
void HashCore(Byte[], int, int) int CryptHashData(int, Byte[], int, int) advapi32.dll
Byte[] HashFinal() int CryptGetHashParam(int, int, Byte[], Int32&, int) advapi32.dll
void Dispose(bool) int CryptDestroyHash(int) advapi32.dll
Class Org.Mentalis.Security.Cryptography.MD4CryptoServiceProvider:
void Initialize() int CryptDestroyHash(int) advapi32.dll
void Initialize() int CryptCreateHash(int, int, int, int, Int32&) advapi32.dll
void HashCore(Byte[], int, int) int CryptHashData(int, Byte[], int, int) advapi32.dll
Byte[] HashFinal() int CryptGetHashParam(int, int, Byte[], Int32&, int) advapi32.dll
void Dispose(bool) int CryptDestroyHash(int) advapi32.dll
Class Org.Mentalis.Security.Cryptography.RC4CryptoServiceProvider:
void .ctor() int CryptGetProvParam(int, int, IntPtr, Int32&, int) advapi32.dll
Class Org.Mentalis.Security.Cryptography.RC4UnmanagedTransform:
int TransformBlock(Byte[], int, int, Byte[], int) int CryptEncrypt(int, int, int, int, Byte[], Int32&, int) advapi32.dll
Byte[] TransformFinalBlock(Byte[], int, int) int CryptEncrypt(int, int, int, int, Byte[], Int32&, int) advapi32.dll
Class Org.Mentalis.Security.Cryptography.RijndaelUnmanagedTransform:
int TransformBlock(Byte[], int, int, Byte[], int) int CryptEncrypt(int, int, int, int, Byte[], Int32&, int) advapi32.dll
int TransformBlock(Byte[], int, int, Byte[], int) int CryptEncrypt(int, int, int, int, IntPtr, Int32&, int) advapi32.dll
int TransformBlock(Byte[], int, int, Byte[], int) int CryptDecrypt(int, int, int, int, Byte[], Int32&) advapi32.dll
Byte[] TransformFinalBlock(Byte[], int, int) int CryptEncrypt(int, int, int, int, Byte[], Int32&, int) advapi32.dll
Byte[] TransformFinalBlock(Byte[], int, int) int CryptEncrypt(int, int, int, int, Byte[], Int32&, int) advapi32.dll
Byte[] TransformFinalBlock(Byte[], int, int) int CryptDecrypt(int, int, int, int, Byte[], Int32&) advapi32.dll
Class Org.Mentalis.Security.Cryptography.SymmetricKey:
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGetProvParam(int, int, IntPtr, Int32&, int) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGenKey(int, IntPtr, int, Int32&) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGetKeyParam(int, int, Int32&, Int32&, int) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGetKeyParam(int, int, IntPtr&, Int32&, int) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGetKeyParam(int, int, Int32&, Int32&, int) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptGenRandom(int, int, IntPtr) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptImportKey(int, IntPtr, int, int, int, Int32&) advapi32.dll
int KeyFromBytes(int, CryptoAlgorithm, Byte[]) int CryptDestroyKey(int) advapi32.dll
Byte[] ToBytes() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
Byte[] ToBytes() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
Byte[] ToBytes() int CryptGetKeyParam(int, int, Int32&, Int32&, int) advapi32.dll
void Dispose() int CryptDestroyKey(int) advapi32.dll
void Dispose() int CryptDestroyKey(int) advapi32.dll
int CreateStaticExponentOfOneKey() int CryptImportKey(int, Byte[], int, int, int, Int32&) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptGenKey(int, IntPtr, int, Int32&) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptExportKey(int, int, int, int, IntPtr, Int32&) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptDestroyKey(int) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptImportKey(int, IntPtr, int, int, int, Int32&) advapi32.dll
int CreateDynamicExponentOfOneKey() int CryptDestroyKey(int) advapi32.dll
Byte[] get_IV() int CryptGetKeyParam(int, int, Byte[], Int32&, int) advapi32.dll
Byte[] get_IV() int CryptGetKeyParam(int, int, Byte[], Int32&, int) advapi32.dll
void set_IV(Byte[]) int CryptSetKeyParam(int, int, Byte[], int) advapi32.dll
CipherMode get_Mode() int CryptGetKeyParam(int, int, Int32&, Int32&, int) advapi32.dll
void set_Mode(CipherMode) int CryptSetKeyParam(int, int, Int32&, int) advapi32.dll
int get_FeedbackSize() int CryptGetKeyParam(int, int, Int32&, Int32&, int) advapi32.dll
void set_FeedbackSize(int) int CryptSetKeyParam(int, int, Int32&, int) advapi32.dll
void set_Padding(PaddingMode) int CryptSetKeyParam(int, int, Int32&, int) advapi32.dll
void .ctor(CryptoProvider, CryptoAlgorithm) int CryptGenKey(int, IntPtr, int, Int32&) advapi32.dll
Class Org.Mentalis.Security.Ssl.Shared.CloneableHash:
void Initialize() int CryptDestroyHash(int) advapi32.dll
void Initialize() int CryptCreateHash(int, int, int, int, Int32&) advapi32.dll
void HashCore(Byte[], int, int) int CryptHashData(int, IntPtr, int, int) advapi32.dll
void HashCore(Byte[], int, int) int CryptHashData(int, Byte[], int, int) advapi32.dll
Byte[] HashFinal() int CryptGetHashParam(int, int, Byte[], Int32&, int) advapi32.dll
void Dispose(bool) int CryptDestroyHash(int) advapi32.dll
void .ctor(int, HashType, int) int CryptDuplicateHash(int, IntPtr, int, Int32&) advapi32.dll
Class Org.Mentalis.Security.Ssl.Shared.MD5SHA1CryptoServiceProvider:
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptAcquireContext(Int32&, IntPtr, string, int, int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptAcquireContext(Int32&, IntPtr, string, int, int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptCreateHash(int, int, int, int, Int32&) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptSetHashParam(int, int, Byte[], int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptImportPublicKeyInfo(int, int, CERT_PUBLIC_KEY_INFO&, Int32&) crypt32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptVerifySignature(int, Byte[], int, int, IntPtr, int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptDestroyKey(int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptDestroyHash(int) advapi32.dll
bool VerifySignature(Certificate, Byte[], Byte[]) int CryptReleaseContext(int, int) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptAcquireCertificatePrivateKey(IntPtr, int, IntPtr, Int32&, Int32&, Int32&) crypt32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptCreateHash(int, int, int, int, Int32&) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptSetHashParam(int, int, Byte[], int) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptSignHash(int, int, IntPtr, int, Byte[], Int32&) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptSignHash(int, int, IntPtr, int, Byte[], Int32&) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptDestroyHash(int) advapi32.dll
Byte[] CreateSignature(Certificate, Byte[]) int CryptReleaseContext(int, int) advapi32.dll
Class Org.Mentalis.Security.Ssl.Shared.RSAKeyTransform:
Byte[] CreateKeyExchange(Byte[]) int CryptEncrypt(IntPtr, int, int, int, Byte[], Int32&, int) advapi32.dll
Byte[] CreateKeyExchange(Byte[]) int CryptEncrypt(IntPtr, int, int, int, Byte[], Int32&, int) advapi32.dll
Byte[] DecryptKeyExchange(Byte[]) int CryptDecrypt(IntPtr, int, int, int, Byte[], Int32&) advapi32.dll

Methods called marked with [MonoTodo]

Calling Method Method with [MonoTodo] Reason
Class Org.Mentalis.Security.Certificates.Certificate:
RSA get_PrivateKey() bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
RSA get_PrivateKey() bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
void ExportPrivateKey(string, string) bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
Class Org.Mentalis.Security.Cryptography.CAPIProvider:
void CreateInternalHandle(Int32&, string) bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
Class Org.Mentalis.Security.Cryptography.DataProtectionCryptoServiceProvider:
Byte[] ProtectData(ProtectionType, Byte[], int, int, Byte[]) bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
Byte[] UnprotectData(Byte[], int, int, Byte[]) bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state
Class Org.Mentalis.Security.Ssl.Shared.MD5SHA1CryptoServiceProvider:
Byte[] CreateSignature(Certificate, Byte[]) bool Environment.get_UserInteractive() Currently always returns false, regardless of interactive state