Skip to content

Commit

Permalink
Parse complicated email addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
glennawatson committed Jul 9, 2019
1 parent 2d2282e commit dea456c
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/GITSMimeSign/Helpers/CertificateHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// See the LICENSE file in the project root for full license information.

using System;
using System.Net.Mail;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

Expand Down Expand Up @@ -32,7 +33,8 @@ public static X509Certificate2 FindUserCertificate(string localUser)
Func<X509Certificate2, bool> isMatchFunc;
if (!isIdToken)
{
isMatchFunc = cert => cert.GetNameInfo(X509NameType.EmailName, false)?.Equals(localUser, StringComparison.InvariantCultureIgnoreCase) ?? false;
var emailAddress = GetEmailAddress(localUser);
isMatchFunc = cert => cert.GetNameInfo(X509NameType.EmailName, false)?.Equals(emailAddress, StringComparison.InvariantCultureIgnoreCase) ?? false;
}
else
{
Expand Down Expand Up @@ -91,5 +93,12 @@ public static (int algorithmCode, int hashCode) ToPgpPublicKeyAlgorithmCode(X509
throw new Exception(Resources.InvalidCertificateAlgorithm + certificate.SignatureAlgorithm.FriendlyName);
}
}

private static string GetEmailAddress(string stringInput)
{
var mailAddress = new MailAddress(stringInput);

return mailAddress.Address;
}
}
}

0 comments on commit dea456c

Please sign in to comment.