aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Mono/Security/CryptoConvert.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Mono/Security/CryptoConvert.cs')
-rw-r--r--MediaBrowser.Server.Mono/Security/CryptoConvert.cs148
1 files changed, 69 insertions, 79 deletions
diff --git a/MediaBrowser.Server.Mono/Security/CryptoConvert.cs b/MediaBrowser.Server.Mono/Security/CryptoConvert.cs
index 3f06114dd..62c28bd27 100644
--- a/MediaBrowser.Server.Mono/Security/CryptoConvert.cs
+++ b/MediaBrowser.Server.Mono/Security/CryptoConvert.cs
@@ -32,14 +32,9 @@ using System.Globalization;
using System.Security.Cryptography;
using System.Text;
-namespace Mono.Security.Cryptography {
+namespace MediaBrowser.Server.Mono.Security {
-#if INSIDE_CORLIB
- internal
-#else
- public
-#endif
- sealed class CryptoConvert {
+ public sealed class CryptoConvert {
private CryptoConvert ()
{
@@ -166,32 +161,31 @@ namespace Mono.Security.Cryptography {
throw new CryptographicException ("Invalid blob.", e);
}
-#if INSIDE_CORLIB && MOBILE
- RSA rsa = RSA.Create ();
- rsa.ImportParameters (rsap);
-#else
- RSA rsa = null;
- try {
- rsa = RSA.Create ();
- rsa.ImportParameters (rsap);
- }
- catch (CryptographicException ce) {
- // this may cause problem when this code is run under
- // the SYSTEM identity on Windows (e.g. ASP.NET). See
- // http://bugzilla.ximian.com/show_bug.cgi?id=77559
- try {
- CspParameters csp = new CspParameters ();
- csp.Flags = CspProviderFlags.UseMachineKeyStore;
- rsa = new RSACryptoServiceProvider (csp);
- rsa.ImportParameters (rsap);
- }
- catch {
- // rethrow original, not the later, exception if this fails
- throw ce;
- }
- }
-#endif
- return rsa;
+ RSA rsa = null;
+ try
+ {
+ rsa = RSA.Create();
+ rsa.ImportParameters(rsap);
+ }
+ catch (CryptographicException ce)
+ {
+ // this may cause problem when this code is run under
+ // the SYSTEM identity on Windows (e.g. ASP.NET). See
+ // http://bugzilla.ximian.com/show_bug.cgi?id=77559
+ try
+ {
+ CspParameters csp = new CspParameters();
+ csp.Flags = CspProviderFlags.UseMachineKeyStore;
+ rsa = new RSACryptoServiceProvider(csp);
+ rsa.ImportParameters(rsap);
+ }
+ catch
+ {
+ // rethrow original, not the later, exception if this fails
+ throw ce;
+ }
+ }
+ return rsa;
}
static public DSA FromCapiPrivateKeyBlobDSA (byte[] blob)
@@ -251,32 +245,31 @@ namespace Mono.Security.Cryptography {
throw new CryptographicException ("Invalid blob.", e);
}
-#if INSIDE_CORLIB && MOBILE
- DSA dsa = (DSA)DSA.Create ();
- dsa.ImportParameters (dsap);
-#else
- DSA dsa = null;
- try {
- dsa = (DSA)DSA.Create ();
- dsa.ImportParameters (dsap);
- }
- catch (CryptographicException ce) {
- // this may cause problem when this code is run under
- // the SYSTEM identity on Windows (e.g. ASP.NET). See
- // http://bugzilla.ximian.com/show_bug.cgi?id=77559
- try {
- CspParameters csp = new CspParameters ();
- csp.Flags = CspProviderFlags.UseMachineKeyStore;
- dsa = new DSACryptoServiceProvider (csp);
- dsa.ImportParameters (dsap);
- }
- catch {
- // rethrow original, not the later, exception if this fails
- throw ce;
- }
- }
-#endif
- return dsa;
+ DSA dsa = null;
+ try
+ {
+ dsa = (DSA)DSA.Create();
+ dsa.ImportParameters(dsap);
+ }
+ catch (CryptographicException ce)
+ {
+ // this may cause problem when this code is run under
+ // the SYSTEM identity on Windows (e.g. ASP.NET). See
+ // http://bugzilla.ximian.com/show_bug.cgi?id=77559
+ try
+ {
+ CspParameters csp = new CspParameters();
+ csp.Flags = CspProviderFlags.UseMachineKeyStore;
+ dsa = new DSACryptoServiceProvider(csp);
+ dsa.ImportParameters(dsap);
+ }
+ catch
+ {
+ // rethrow original, not the later, exception if this fails
+ throw ce;
+ }
+ }
+ return dsa;
}
static public byte[] ToCapiPrivateKeyBlob (RSA rsa)
@@ -444,26 +437,23 @@ namespace Mono.Security.Cryptography {
rsap.Modulus = new byte [byteLen];
Buffer.BlockCopy (blob, pos, rsap.Modulus, 0, byteLen);
Array.Reverse (rsap.Modulus);
-#if INSIDE_CORLIB && MOBILE
- RSA rsa = RSA.Create ();
- rsa.ImportParameters (rsap);
-#else
- RSA rsa = null;
- try {
- rsa = RSA.Create ();
- rsa.ImportParameters (rsap);
- }
- catch (CryptographicException) {
- // this may cause problem when this code is run under
- // the SYSTEM identity on Windows (e.g. ASP.NET). See
- // http://bugzilla.ximian.com/show_bug.cgi?id=77559
- CspParameters csp = new CspParameters ();
- csp.Flags = CspProviderFlags.UseMachineKeyStore;
- rsa = new RSACryptoServiceProvider (csp);
- rsa.ImportParameters (rsap);
- }
-#endif
- return rsa;
+ RSA rsa = null;
+ try
+ {
+ rsa = RSA.Create();
+ rsa.ImportParameters(rsap);
+ }
+ catch (CryptographicException)
+ {
+ // this may cause problem when this code is run under
+ // the SYSTEM identity on Windows (e.g. ASP.NET). See
+ // http://bugzilla.ximian.com/show_bug.cgi?id=77559
+ CspParameters csp = new CspParameters();
+ csp.Flags = CspProviderFlags.UseMachineKeyStore;
+ rsa = new RSACryptoServiceProvider(csp);
+ rsa.ImportParameters(rsap);
+ }
+ return rsa;
}
catch (Exception e) {
throw new CryptographicException ("Invalid blob.", e);