Skip to content

Commit 5b2b0ae

Browse files
CSHARP-2943: Check uses of SecureString when targetting netstandard2.0 (mongodb#505)
1 parent 78f2484 commit 5b2b0ae

File tree

6 files changed

+20
-18
lines changed

6 files changed

+20
-18
lines changed

src/MongoDB.Driver.Core/Core/Authentication/AuthenticationHelper.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ public static string MongoPasswordDigest(string username, SecureString password)
6969
}
7070
else
7171
{
72-
#if NET452
73-
var passwordIntPtr = Marshal.SecureStringToGlobalAllocUnicode(password);
74-
#else
72+
#if NETSTANDARD1_5
7573
var passwordIntPtr = SecureStringMarshal.SecureStringToGlobalAllocUnicode(password);
74+
#else
75+
var passwordIntPtr = Marshal.SecureStringToGlobalAllocUnicode(password);
7676
#endif
7777
try
7878
{

src/MongoDB.Driver.Core/Core/Authentication/ScramSha256Authenticator.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515

1616
using System;
1717
using System.Runtime.InteropServices;
18+
#if NETSTANDARD1_5
1819
using System.Security;
20+
#endif
1921
using System.Security.Cryptography;
2022
using System.Text;
2123
using MongoDB.Bson.IO;
@@ -89,10 +91,10 @@ private static byte[] H256(byte[] data)
8991

9092
private static byte[] Hi256(UsernamePasswordCredential credential, byte[] salt, int iterations)
9193
{
92-
#if NET452
93-
var passwordIntPtr = Marshal.SecureStringToGlobalAllocUnicode(credential.SaslPreppedPassword);
94-
#else
94+
#if NETSTANDARD1_5
9595
var passwordIntPtr = SecureStringMarshal.SecureStringToGlobalAllocUnicode(credential.SaslPreppedPassword);
96+
#else
97+
var passwordIntPtr = Marshal.SecureStringToGlobalAllocUnicode(credential.SaslPreppedPassword);
9698
#endif
9799
try
98100
{

src/MongoDB.Driver.Core/Core/Authentication/Sspi/AuthIdentity.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ public AuthIdentity(string username, SecureString password)
5252

5353
if (password != null && password.Length > 0)
5454
{
55-
#if NET452
56-
Password = Marshal.SecureStringToGlobalAllocUnicode(password);
57-
#else
55+
#if NETSTANDARD1_5
5856
Password = SecureStringMarshal.SecureStringToGlobalAllocUnicode(password);
57+
#else
58+
Password = Marshal.SecureStringToGlobalAllocUnicode(password);
5959
#endif
6060
PasswordLength = password.Length;
6161
}

src/MongoDB.Driver.Core/Core/Misc/DecryptedSecureString.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,10 @@ public char[] GetChars()
5454
{
5555
if (_chars == null)
5656
{
57-
#if NET452
58-
_charsIntPtr = Marshal.SecureStringToGlobalAllocUnicode(_secureString);
59-
#else
57+
#if NETSTANDARD1_5
6058
_charsIntPtr = SecureStringMarshal.SecureStringToGlobalAllocUnicode(_secureString);
59+
#else
60+
_charsIntPtr = Marshal.SecureStringToGlobalAllocUnicode(_secureString);
6161
#endif
6262
_chars = new char[_secureString.Length];
6363
_charsHandle = GCHandle.Alloc(_chars, GCHandleType.Pinned);

src/MongoDB.Driver/DecryptedSecureString.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ public char[] GetChars()
5555
{
5656
if (_chars == null)
5757
{
58-
#if NET452
59-
_charsIntPtr = Marshal.SecureStringToGlobalAllocUnicode(_secureString);
60-
#else
58+
#if NETSTANDARD1_5
6159
_charsIntPtr = SecureStringMarshal.SecureStringToGlobalAllocUnicode(_secureString);
60+
#else
61+
_charsIntPtr = Marshal.SecureStringToGlobalAllocUnicode(_secureString);
6262
#endif
6363
_chars = new char[_secureString.Length];
6464
_charsHandle = GCHandle.Alloc(_chars, GCHandleType.Pinned);

src/MongoDB.Shared/SecureStringHelper.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ public static string ToInsecureString(SecureString secureString)
3434
}
3535
else
3636
{
37-
#if NET452
38-
var secureStringIntPtr = Marshal.SecureStringToGlobalAllocUnicode(secureString);
39-
#else
37+
#if NETSTANDARD1_5
4038
var secureStringIntPtr = SecureStringMarshal.SecureStringToGlobalAllocUnicode(secureString);
39+
#else
40+
var secureStringIntPtr = Marshal.SecureStringToGlobalAllocUnicode(secureString);
4141
#endif
4242
try
4343
{

0 commit comments

Comments
 (0)