Skip to content

Commit 1bd1bda

Browse files
committed
deprecated UniversalTagBase.RawData
1 parent 291c179 commit 1bd1bda

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed

Asn1Parser/Asn1Builder.cs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class Asn1Builder {
3030
/// </param>
3131
/// <returns>Current instance with added value.</returns>
3232
public Asn1Builder AddBoolean(Boolean value) {
33-
_rawData.AddRange(new Asn1Boolean(value).RawData);
33+
_rawData.AddRange(new Asn1Boolean(value).GetRawData());
3434
return this;
3535
}
3636
/// <summary>
@@ -41,7 +41,7 @@ public Asn1Builder AddBoolean(Boolean value) {
4141
/// </param>
4242
/// <returns>Current instance with added value.</returns>
4343
public Asn1Builder AddInteger(BigInteger value) {
44-
_rawData.AddRange(new Asn1Integer(value).RawData);
44+
_rawData.AddRange(new Asn1Integer(value).GetRawData());
4545
return this;
4646
}
4747
/// <summary>
@@ -58,7 +58,7 @@ public Asn1Builder AddBitString(Byte[] value, Byte unusedBits) {
5858
if (value == null) {
5959
throw new ArgumentNullException(nameof(value));
6060
}
61-
_rawData.AddRange(new Asn1BitString(value, unusedBits).RawData);
61+
_rawData.AddRange(new Asn1BitString(value, unusedBits).GetRawData());
6262
return this;
6363
}
6464
/// <summary>
@@ -75,7 +75,7 @@ public Asn1Builder AddBitString(Byte[] value, Boolean calculateUnusedBits = fals
7575
if (value == null) {
7676
throw new ArgumentNullException(nameof(value));
7777
}
78-
_rawData.AddRange(new Asn1BitString(value, calculateUnusedBits).RawData);
78+
_rawData.AddRange(new Asn1BitString(value, calculateUnusedBits).GetRawData());
7979
return this;
8080
}
8181
/// <summary>
@@ -92,15 +92,15 @@ public Asn1Builder AddOctetString(Byte[] value) {
9292
if (value == null) {
9393
throw new ArgumentNullException(nameof(value));
9494
}
95-
_rawData.AddRange(new Asn1OctetString(value, false).RawData);
95+
_rawData.AddRange(new Asn1OctetString(value, false).GetRawData());
9696
return this;
9797
}
9898
/// <summary>
9999
/// Adds ASN.1 NULL value.
100100
/// </summary>
101101
/// <returns>Current instance with added value.</returns>
102102
public Asn1Builder AddNull() {
103-
_rawData.AddRange(new Asn1Null().RawData);
103+
_rawData.AddRange(new Asn1Null().GetRawData());
104104
return this;
105105
}
106106
/// <summary>
@@ -117,7 +117,7 @@ public Asn1Builder AddObjectIdentifier(Oid value) {
117117
if (value == null) {
118118
throw new ArgumentNullException(nameof(value));
119119
}
120-
_rawData.AddRange(new Asn1ObjectIdentifier(value).RawData);
120+
_rawData.AddRange(new Asn1ObjectIdentifier(value).GetRawData());
121121
return this;
122122
}
123123
/// <summary>
@@ -128,7 +128,7 @@ public Asn1Builder AddObjectIdentifier(Oid value) {
128128
/// </param>
129129
/// <returns>Current instance with added value.</returns>
130130
public Asn1Builder AddEnumerated(UInt64 value) {
131-
_rawData.AddRange(new Asn1Enumerated(value).RawData);
131+
_rawData.AddRange(new Asn1Enumerated(value).GetRawData());
132132
return this;
133133
}
134134
/// <summary>
@@ -145,7 +145,7 @@ public Asn1Builder AddUTF8String(String value) {
145145
if (value == null) {
146146
throw new ArgumentNullException(nameof(value));
147147
}
148-
_rawData.AddRange(new Asn1UTF8String(value).RawData);
148+
_rawData.AddRange(new Asn1UTF8String(value).GetRawData());
149149
return this;
150150
}
151151
/// <summary>
@@ -210,7 +210,7 @@ public Asn1Builder AddNumericString(String value) {
210210
if (value == null) {
211211
throw new ArgumentNullException(nameof(value));
212212
}
213-
_rawData.AddRange(new Asn1NumericString(value).RawData);
213+
_rawData.AddRange(new Asn1NumericString(value).GetRawData());
214214
return this;
215215
}
216216
/// <summary>
@@ -227,7 +227,7 @@ public Asn1Builder AddPrintableString(String value) {
227227
if (value == null) {
228228
throw new ArgumentNullException(nameof(value));
229229
}
230-
_rawData.AddRange(new Asn1PrintableString(value).RawData);
230+
_rawData.AddRange(new Asn1PrintableString(value).GetRawData());
231231
return this;
232232
}
233233
/// <summary>
@@ -244,7 +244,7 @@ public Asn1Builder AddTeletexString(String value) {
244244
if (value == null) {
245245
throw new ArgumentNullException(nameof(value));
246246
}
247-
_rawData.AddRange(new Asn1TeletexString(value).RawData);
247+
_rawData.AddRange(new Asn1TeletexString(value).GetRawData());
248248
return this;
249249
}
250250
/// <summary>
@@ -278,7 +278,7 @@ public Asn1Builder AddIA5String(String value) {
278278
if (value == null) {
279279
throw new ArgumentNullException(nameof(value));
280280
}
281-
_rawData.AddRange(new Asn1IA5String(value).RawData);
281+
_rawData.AddRange(new Asn1IA5String(value).GetRawData());
282282
return this;
283283
}
284284
/// <summary>
@@ -289,7 +289,7 @@ public Asn1Builder AddIA5String(String value) {
289289
/// </param>
290290
/// <returns>Current instance with added value.</returns>
291291
public Asn1Builder AddUtcTime(DateTime value) {
292-
_rawData.AddRange(new Asn1UtcTime(value).RawData);
292+
_rawData.AddRange(new Asn1UtcTime(value).GetRawData());
293293
return this;
294294
}
295295
/// <summary>
@@ -300,7 +300,7 @@ public Asn1Builder AddUtcTime(DateTime value) {
300300
/// </param>
301301
/// <returns>Current instance with added value.</returns>
302302
public Asn1Builder AddGeneralizedTime(DateTime value) {
303-
_rawData.AddRange(new Asn1GeneralizedTime(value).RawData);
303+
_rawData.AddRange(new Asn1GeneralizedTime(value).GetRawData());
304304
return this;
305305
}
306306
/// <summary>
@@ -316,8 +316,8 @@ public Asn1Builder AddGeneralizedTime(DateTime value) {
316316
/// </remarks>
317317
public Asn1Builder AddRfcDateTime(DateTime value) {
318318
_rawData.AddRange(value.Year < 2050
319-
? new Asn1UtcTime(value).RawData
320-
: new Asn1GeneralizedTime(value).RawData);
319+
? new Asn1UtcTime(value).GetRawData()
320+
: new Asn1GeneralizedTime(value).GetRawData());
321321

322322
return this;
323323
}
@@ -335,7 +335,7 @@ public Asn1Builder AddVisibleString(String value) {
335335
if (value == null) {
336336
throw new ArgumentNullException(nameof(value));
337337
}
338-
_rawData.AddRange(new Asn1VisibleString(value).RawData);
338+
_rawData.AddRange(new Asn1VisibleString(value).GetRawData());
339339
return this;
340340
}
341341
/// <summary>
@@ -352,7 +352,7 @@ public Asn1Builder AddUniversalString(String value) {
352352
if (value == null) {
353353
throw new ArgumentNullException(nameof(value));
354354
}
355-
_rawData.AddRange(new Asn1UniversalString(value).RawData);
355+
_rawData.AddRange(new Asn1UniversalString(value).GetRawData());
356356
return this;
357357
}
358358
/// <summary>
@@ -369,7 +369,7 @@ public Asn1Builder AddBMPString(String value) {
369369
if (value == null) {
370370
throw new ArgumentNullException(nameof(value));
371371
}
372-
_rawData.AddRange(new Asn1BMPString(value).RawData);
372+
_rawData.AddRange(new Asn1BMPString(value).GetRawData());
373373
return this;
374374
}
375375
/// <summary>
@@ -513,7 +513,7 @@ public Asn1Builder AddBitString(Func<Asn1Builder, Asn1Builder> selector) {
513513
throw new ArgumentNullException(nameof(selector));
514514
}
515515
Asn1Builder b = selector(new Asn1Builder());
516-
_rawData.AddRange(new Asn1BitString(b._rawData.ToArray(), 0).RawData);
516+
_rawData.AddRange(new Asn1BitString(b._rawData.ToArray(), 0).GetRawData());
517517
return this;
518518
}
519519
/// <summary>

Asn1Parser/Universal/UniversalTagBase.cs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace SysadminsLV.Asn1Parser.Universal {
55
/// Represents a base class for ASN.1 primitive tag classes. This class provides
66
/// </summary>
77
public abstract class UniversalTagBase {
8+
Asn1Reader asnReader;
89
/// <summary>
910
/// Initializes a new instance of <strong>UniversalTagBase</strong> class.
1011
/// </summary>
@@ -28,7 +29,7 @@ protected UniversalTagBase(Asn1Reader asn, Asn1Type? type) {
2829
}
2930
Initialize(asn);
3031
}
31-
32+
3233
/// <summary>
3334
/// Gets the numeric tag value of the current ASN type.
3435
/// </summary>
@@ -75,17 +76,18 @@ protected UniversalTagBase(Asn1Reader asn, Asn1Type? type) {
7576
/// <summary>
7677
/// Gets the full tag raw data, including header and payload information.
7778
/// </summary>
78-
public Byte[] RawData { get; private set; }
79+
[Obsolete("Use 'GetRawData()' method instead.", true)]
80+
public Byte[] RawData => GetRawData();
7981

8082
/// <summary>
8183
/// Initializes <strong>UniversalTagBase</strong> object from an existing <see cref="Asn1Reader"/> object.
8284
/// </summary>
8385
/// <param name="asn">Existing <see cref="Asn1Reader"/> object.</param>
8486
protected void Initialize(Asn1Reader asn) {
87+
asnReader = asn;
8588
Tag = asn.Tag;
8689
TagName = asn.TagName;
8790
IsContainer = asn.IsConstructed;
88-
RawData = asn.GetTagRawData();
8991
}
9092
/// <summary>
9193
/// Constant string to display error message for tag mismatch exceptions.
@@ -97,24 +99,26 @@ protected void Initialize(Asn1Reader asn) {
9799
/// </summary>
98100
/// <returns>Decoded type value.</returns>
99101
public virtual String GetDisplayValue() {
100-
return RawData == null
102+
return asnReader == null
101103
? String.Empty
102-
: AsnFormatter.BinaryToString(RawData, EncodingType.HexRaw, EncodingFormat.NOCRLF);
104+
: AsnFormatter.BinaryToString(asnReader, EncodingType.HexRaw, EncodingFormat.NOCRLF);
103105
}
104106
/// <summary>
105107
/// Encodes current tag to either, Base64 or hex string.
106108
/// </summary>
107109
/// <param name="encoding">Specifies the output encoding.</param>
108110
/// <returns>Encoded text value.</returns>
109111
public virtual String Format(EncodingType encoding = EncodingType.Base64) {
110-
return RawData == null
112+
return asnReader == null
111113
? String.Empty
112-
: AsnFormatter.BinaryToString(RawData, encoding);
114+
: AsnFormatter.BinaryToString(asnReader, encoding);
115+
}
116+
/// <summary>
117+
/// Gets the full tag raw data, including header and payload information.
118+
/// </summary>
119+
/// <returns>ASN.1-encoded type.</returns>
120+
public Byte[] GetRawData() {
121+
return asnReader.GetTagRawData();
113122
}
114-
///// <summary>
115-
///// Gets the full tag raw data, including header and payload information.
116-
///// </summary>
117-
///// <returns>ASN.1-encoded type.</returns>
118-
//public virtual Byte[] GetRawData();
119123
}
120124
}

0 commit comments

Comments
 (0)