private static byte[][] ParseRdn( byte[][] encodedOid, char[] chars, int valueStart, int valueEnd, bool ia5String) { byte[][] encodedValue; int length = valueEnd - valueStart; if (ia5String) { // An email address with an invalid value will throw. encodedValue = DerEncoder.SegmentedEncodeIA5String(chars, valueStart, length); } else if (DerEncoder.IsValidPrintableString(chars, valueStart, length)) { encodedValue = DerEncoder.SegmentedEncodePrintableString(chars, valueStart, length); } else { encodedValue = DerEncoder.SegmentedEncodeUtf8String(chars, valueStart, length); } return(DerEncoder.ConstructSegmentedSet( DerEncoder.ConstructSegmentedSequence( encodedOid, encodedValue))); }
public static void CheckPrintableSubstring(string candidate, int offset, int length, bool expected) { Assert.Equal(expected, DerEncoder.IsValidPrintableString(candidate.ToCharArray(), offset, length)); }
public static void CheckPrintableString(string candidate, bool expected) { Assert.Equal(expected, DerEncoder.IsValidPrintableString(candidate.ToCharArray())); }