コード例 #1
0
        private static string RedactX400Address(string x400Addr, out string raw, out string redacted)
        {
            raw      = null;
            redacted = null;
            if (string.IsNullOrWhiteSpace(x400Addr))
            {
                return(x400Addr);
            }
            IList <string> list;

            if (!X400AddressParser.TryParse(x400Addr, out list))
            {
                return(x400Addr);
            }
            foreach (int num in SuppressingPiiData.typesNeedRedact)
            {
                if (num < list.Count)
                {
                    string text = SuppressingPiiData.Redact(list[num], out raw, out redacted);
                    if (text != null && X400AddressParser.MaxComponentLengths[num] < text.Length)
                    {
                        text = text.Substring(0, X400AddressParser.MaxComponentLengths[num]);
                    }
                    list[num] = text;
                }
            }
            return(X400AddressParser.ToCanonicalString(list));
        }
コード例 #2
0
        public static string RedactSmtpAddress(string smtp)
        {
            string text;
            string text2;

            return(SuppressingPiiData.RedactSmtpAddress(smtp, out text, out text2));
        }
コード例 #3
0
 public static string Redact(string value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (string.IsNullOrWhiteSpace(value) || SuppressingPiiData.redactedString.IsMatch(value))
     {
         return(value);
     }
     if (ADObjectNameHelper.ReservedADNameStringRegex.IsMatch(value))
     {
         return(value);
     }
     if (SmtpAddress.IsValidSmtpAddress(value))
     {
         return(SuppressingPiiData.RedactSmtpAddress(value, out raw, out redacted));
     }
     raw = value;
     try
     {
         if (SuppressingPiiData.hasher == null)
         {
             redacted = string.Empty;
         }
         else
         {
             redacted = BitConverter.ToString(SuppressingPiiData.hasher.ComputeHash(Encoding.Unicode.GetBytes(value))).Replace("-", string.Empty).ToLower().Substring(0, 32);
         }
     }
     catch (Exception)
     {
         redacted = string.Empty;
     }
     return(SuppressingPiiConfig.RedactedDataPrefix + redacted);
 }
コード例 #4
0
        public static ObjectId RedactMailboxStoreObjectId(ObjectId objectId)
        {
            string text;
            string text2;

            return(SuppressingPiiData.RedactMailboxStoreObjectId(objectId, out text, out text2));
        }
コード例 #5
0
        public static LocalizedString Redact(LocalizedString original, PiiMap piiMap)
        {
            LocalizedString result;

            SuppressingPiiData.TryRedactPiiLocString(original, piiMap, out result);
            return(result);
        }
コード例 #6
0
        public static SmtpAddress?Redact(SmtpAddress?smtp)
        {
            string text;
            string text2;

            return(SuppressingPiiData.Redact(smtp, out text, out text2));
        }
コード例 #7
0
        public static string Redact(string value)
        {
            string text;
            string text2;

            return(SuppressingPiiData.Redact(value, out text, out text2));
        }
コード例 #8
0
 public static string Redact(SecurityIdentifier sid, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (sid == null)
     {
         return(null);
     }
     return(SuppressingPiiData.Redact(sid.Value, out raw, out redacted));
 }
コード例 #9
0
 public static HeaderValue?Redact(HeaderValue?value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new HeaderValue?(new HeaderValue(SuppressingPiiData.Redact(value.ToString(), out raw, out redacted))));
 }
コード例 #10
0
 public static ObjectId RedactMailboxId(ObjectId mailboxId, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (mailboxId is MailboxId)
     {
         mailboxId = new MailboxId(SuppressingPiiData.RedactLegacyDN(((MailboxId)mailboxId).MailboxExchangeLegacyDn, out raw, out redacted));
     }
     return(mailboxId);
 }
コード例 #11
0
        public static IdentityDetails Redact(IdentityDetails identityDetails)
        {
            string     text;
            string     text2;
            ADObjectId identity    = SuppressingPiiData.Redact(identityDetails.Identity, out text, out text2);
            string     name        = SuppressingPiiData.Redact(identityDetails.Name);
            string     displayName = SuppressingPiiData.Redact(identityDetails.DisplayName);

            return(new IdentityDetails(identity, name, displayName, identityDetails.ExternalDirectoryObjectId));
        }
コード例 #12
0
 public static string ConvertToUpperInvariantAndRedact(string value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (string.IsNullOrWhiteSpace(value))
     {
         return(value);
     }
     return(SuppressingPiiData.Redact(value.ToUpperInvariant(), out raw, out redacted));
 }
コード例 #13
0
 public static RmsTemplateIdentity Redact(RmsTemplateIdentity value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new RmsTemplateIdentity(value.TemplateId, SuppressingPiiData.Redact(value.TemplateName, out raw, out redacted), value.Type));
 }
コード例 #14
0
 public static SmtpAddress Redact(SmtpAddress smtp, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (string.IsNullOrWhiteSpace(smtp.Local) || string.IsNullOrWhiteSpace(smtp.Domain))
     {
         return(smtp);
     }
     return(new SmtpAddress(SuppressingPiiData.Redact(smtp.Local.ToUpperInvariant(), out raw, out redacted), smtp.Domain));
 }
コード例 #15
0
 public static RecipientIdParameter Redact(RecipientIdParameter value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new RecipientIdParameter(SuppressingPiiData.RedactSmtpAddress(value.RawIdentity, out raw, out redacted)));
 }
コード例 #16
0
 public static ADRecipientOrAddress Redact(ADRecipientOrAddress value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new ADRecipientOrAddress(new Participant(SuppressingPiiData.Redact(value.DisplayName, out raw, out redacted), SuppressingPiiData.Redact(value.Address, out raw, out redacted), null)));
 }
コード例 #17
0
 public static RejectText?Redact(RejectText?value, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     return(new RejectText?(new RejectText(SuppressingPiiData.Redact(value.ToString(), out raw, out redacted))));
 }
コード例 #18
0
        public static RoutingAddress Redact(RoutingAddress address)
        {
            if (string.IsNullOrWhiteSpace(address.LocalPart) || string.IsNullOrWhiteSpace(address.DomainPart))
            {
                return(address);
            }
            string text;
            string text2;

            return(new RoutingAddress(SuppressingPiiData.Redact(address.LocalPart.ToUpperInvariant(), out text, out text2), address.DomainPart));
        }
コード例 #19
0
 public static MapiFolderPath Redact(MapiFolderPath folderPath, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (folderPath != null)
     {
         raw        = folderPath.ToString();
         redacted   = SuppressingPiiData.Redact(raw);
         folderPath = new MapiFolderPath('\\' + redacted);
     }
     return(folderPath);
 }
コード例 #20
0
 public static Uri Redact(Uri uri, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (uri != null)
     {
         raw      = uri.OriginalString;
         redacted = SuppressingPiiData.Redact(uri.OriginalString);
         uri      = new Uri(redacted, UriKind.RelativeOrAbsolute);
     }
     return(uri);
 }
コード例 #21
0
        public static ObjectId RedactMailboxStoreObjectId(ObjectId objectId, out string raw, out string redacted)
        {
            raw      = null;
            redacted = null;
            MailboxStoreObjectId mailboxStoreObjectId = objectId as MailboxStoreObjectId;

            if (mailboxStoreObjectId != null)
            {
                return(new MailboxStoreObjectId(SuppressingPiiData.Redact(mailboxStoreObjectId.MailboxOwnerId, out raw, out redacted), mailboxStoreObjectId.StoreObjectId));
            }
            return(objectId);
        }
コード例 #22
0
        public static LocalizedString Redact(LocalizedString value, out string raw, out string redacted)
        {
            raw      = null;
            redacted = null;
            LocalizedString result;

            if (!SuppressingPiiData.TryRedactPiiLocString(value, SuppressingPiiContext.PiiMap, out result))
            {
                result = new LocalizedString(SuppressingPiiData.Redact(value.ToString(), out raw, out redacted));
            }
            return(result);
        }
コード例 #23
0
 public static ADObjectId[] Redact(ADObjectId[] values)
 {
     if (values != null && values.Length > 0)
     {
         string text  = null;
         string text2 = null;
         for (int i = 0; i < values.Length; i++)
         {
             values[i] = SuppressingPiiData.Redact(values[i], out text, out text2);
         }
     }
     return(values);
 }
コード例 #24
0
 public static MailboxFolder Redact(MailboxFolder folder, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (folder != null)
     {
         folder.Name           = SuppressingPiiData.Redact(folder.Name);
         folder.FolderPath     = SuppressingPiiData.Redact(folder.FolderPath, out raw, out redacted);
         folder.MailboxOwnerId = SuppressingPiiData.Redact(folder.MailboxOwnerId, out raw, out redacted);
         return(folder);
     }
     return(folder);
 }
コード例 #25
0
 public static string RedactSmtpAddress(string smtp, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (string.IsNullOrWhiteSpace(smtp))
     {
         return(smtp);
     }
     if (SmtpAddress.IsValidSmtpAddress(smtp))
     {
         return(SuppressingPiiData.Redact(new SmtpAddress(smtp), out raw, out redacted).ToString());
     }
     return(SuppressingPiiData.Redact(smtp, out raw, out redacted));
 }
コード例 #26
0
 public static MigrationUserId Redact(MigrationUserId migUserId, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     if (migUserId == null)
     {
         return(null);
     }
     if (migUserId.JobItemGuid != Guid.Empty)
     {
         return(new MigrationUserId(string.Empty, migUserId.JobItemGuid));
     }
     return(new MigrationUserId(SuppressingPiiData.Redact(migUserId.Id, out raw, out redacted), migUserId.JobItemGuid));
 }
コード例 #27
0
 public static RecipientInfo[] Redact(RecipientInfo[] recipients, out string[] raw, out string[] redacted)
 {
     raw      = null;
     redacted = null;
     if (recipients != null && recipients.Length > 0)
     {
         raw      = new string[recipients.Length];
         redacted = new string[recipients.Length];
         for (int i = 0; i < recipients.Length; i++)
         {
             recipients[i].Address = SuppressingPiiData.RedactSmtpAddress(recipients[i].Address, out raw[i], out redacted[i]);
         }
     }
     return(recipients);
 }
コード例 #28
0
 public static SmtpAddress[] Redact(SmtpAddress[] values, out string[] raw, out string[] redacted)
 {
     raw      = null;
     redacted = null;
     if (values != null && values.Length > 0)
     {
         raw      = new string[values.Length];
         redacted = new string[values.Length];
         for (int i = 0; i < values.Length; i++)
         {
             values[i] = SuppressingPiiData.Redact(values[i], out raw[i], out redacted[i]);
         }
     }
     return(values);
 }
コード例 #29
0
 public static KeyValuePair <string, LocalizedString>[] Redact(KeyValuePair <string, LocalizedString>[] value, out string[] raw, out string[] redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     for (int i = 0; i < value.Length; i++)
     {
         string text;
         string text2;
         value[i] = new KeyValuePair <string, LocalizedString>(value[i].Key, SuppressingPiiData.Redact(value[i].Value, out text, out text2));
     }
     return(value);
 }
コード例 #30
0
 public static ADRecipientOrAddress[] Redact(ADRecipientOrAddress[] value, out string[] raw, out string[] redacted)
 {
     raw      = null;
     redacted = null;
     if (value == null)
     {
         return(null);
     }
     raw      = new string[value.Length];
     redacted = new string[value.Length];
     for (int i = 0; i < value.Length; i++)
     {
         value[i] = SuppressingPiiData.Redact(value[i], out raw[i], out redacted[i]);
     }
     return(value);
 }