---
product: Chilkat
product_version: 11.7.0
language: ckperl
language_label: Perl
class: Asn
class_name: CkAsn
license: bundle
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/perlCkAsnRef.html
---
# Chilkat Asn — Perl — v11.7.0

> Chilkat 11.7.0 · language=ckperl · class=Asn (CkAsn)
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/Asn.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/ckperl/guide.md`.

## Purpose

**Load, inspect, build, edit, and encode ASN.1 structures in DER or XML form.**

`Chilkat.Asn` represents an ASN.1 item and its optional child items. It can load ASN.1 from binary DER, encoded DER strings, files, or `BinData`; expose tags, tag values, primitive content, boolean and integer values, and child counts; build constructed structures such as `SEQUENCE` and `SET`; append common primitive types such as booleans, integers, big integers, bit strings, octets, OIDs, strings, times, null values, and context-specific items; convert ASN.1 to XML; reload from that XML form; and write the final structure back to DER.

**Load DER data**

Load ASN.1 from binary DER bytes, encoded text such as Base64 or hex, files, or existing `BinData` objects.

**Inspect ASN.1 items**

Read the item tag, tag value, constructed/primitive state, sub-item count, string content, boolean value, or integer value.

**Build sequences and sets**

Append constructed `SEQUENCE` and `SET` items, then add child ASN.1 values beneath them.

**Append primitive values**

Add booleans, integers, big integers, bit strings, octet strings, OIDs, strings, times, null values, and encoded byte content.

**Context-specific tags**

Add context-specific primitive or constructed items when working with ASN.1 formats that use tagged application-specific structures.

**DER and XML conversion**

Convert ASN.1 to XML for inspection or editing, load ASN.1 back from XML, and output the result as binary or encoded DER.

**Common pattern:** Load existing DER with `LoadBinary`, `LoadEncoded`, `LoadBd`, or `LoadBinaryFile`, inspect the tree with `Tag`, `Constructed`, `NumSubItems`, and `GetSubItem`, then extract primitive content or convert to XML with `AsnToXml`. To create ASN.1, start with a constructed item, append child values, and write the final DER with `GetBinaryDer`, `GetEncodedDer`, `WriteBd`, or `WriteBinaryDer`.

## Object creation, unlocking and error handling

**Object Creation**

```perl
$obj = chilkat::CkAsn->new();
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in Perl.

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `# $strVal is a string # $ckStr is a CkString $asn->get_DebugLogFilePath($ckStr); $strVal = $asn->debugLogFilePath(); $asn->put_DebugLogFilePath($strVal);` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastErrorHtml` | `# $strVal is a string # $ckStr is a CkString $asn->get_LastErrorHtml($ckStr); $strVal = $asn->lastErrorHtml();` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `# $strVal is a string # $ckStr is a CkString $asn->get_LastErrorText($ckStr); $strVal = $asn->lastErrorText();` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `# $strVal is a string # $ckStr is a CkString $asn->get_LastErrorXml($ckStr); $strVal = $asn->lastErrorXml();` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `# $boolVal is a boolean $boolVal = $asn->get_LastMethodSuccess(); $asn->put_LastMethodSuccess($boolVal);` | read/write | Indicates the success or failure of the most recent method call: `1` means success, `0` means failure. |
| `Utf8` | `# $boolVal is a boolean $boolVal = $asn->get_Utf8(); $asn->put_Utf8($boolVal);` | read/write | When set to `1`, all `string` arguments and return values are interpreted as UTF-8 strings. |
| `VerboseLogging` | `# $boolVal is a boolean $boolVal = $asn->get_VerboseLogging(); $asn->put_VerboseLogging($boolVal);` | read/write | If set to `1`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `# $strVal is a string # $ckStr is a CkString $asn->get_Version($ckStr); $strVal = $asn->version();` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `BoolValue` | property, read/write | `# $boolVal is a boolean $boolVal = $asn->get_BoolValue(); $asn->put_BoolValue($boolVal);` |
| `Constructed` | property, read-only | `# $boolVal is a boolean $boolVal = $asn->get_Constructed();` |
| `ContentStr` | property, read/write | `# $strVal is a string # $ckStr is a CkString $asn->get_ContentStr($ckStr); $strVal = $asn->contentStr(); $asn->put_ContentStr($strVal);` |
| `IntValue` | property, read/write | `# $intVal is an integer $intVal = $asn->get_IntValue(); $asn->put_IntValue($intVal);` |
| `NumSubItems` | property, read-only | `# $intVal is an integer $intVal = $asn->get_NumSubItems();` |
| `Tag` | property, read-only | `# $strVal is a string # $ckStr is a CkString $asn->get_Tag($ckStr); $strVal = $asn->tag();` |
| `TagValue` | property, read-only | `# $intVal is an integer $intVal = $asn->get_TagValue();` |
| `AppendBigInt` | method | `# $encodedBytes is a string # $encoding is a string $status = $asn->AppendBigInt($encodedBytes, $encoding);` |
| `AppendBits` | method | `# $encodedBytes is a string # $encoding is a string $status = $asn->AppendBits($encodedBytes, $encoding);` |
| `AppendBool` | method | `# $value is a boolean $status = $asn->AppendBool($value);` |
| `AppendContextConstructed` | method | `# $tag is an integer $status = $asn->AppendContextConstructed($tag);` |
| `AppendContextPrimitive` | method | `# $tag is an integer # $encodedBytes is a string # $encoding is a string $status = $asn->AppendContextPrimitive($tag, $encodedBytes, $encoding);` |
| `AppendInt` | method | `# $value is an integer $status = $asn->AppendInt($value);` |
| `AppendNull` | method | `$status = $asn->AppendNull();` |
| `AppendOctets` | method | `# $encodedBytes is a string # $encoding is a string $status = $asn->AppendOctets($encodedBytes, $encoding);` |
| `AppendOid` | method | `# $oid is a string $status = $asn->AppendOid($oid);` |
| `AppendSequence` | method | `$status = $asn->AppendSequence();` |
| `AppendSequence2` | method | `$status = $asn->AppendSequence2();` |
| `AppendSequenceR` | method | `$status = $asn->AppendSequenceR();` |
| `AppendSet` | method | `$status = $asn->AppendSet();` |
| `AppendSet2` | method | `$status = $asn->AppendSet2();` |
| `AppendSetR` | method | `$status = $asn->AppendSetR();` |
| `AppendString` | method | `# $strType is a string # $value is a string $status = $asn->AppendString($strType, $value);` |
| `AppendTime` | method | `# $timeFormat is a string # $dateTimeStr is a string $status = $asn->AppendTime($timeFormat, $dateTimeStr);` |
| `AsnToXml` | method | `# $outStr is a CkString (output) $status = $asn->AsnToXml($outStr); $retStr = $asn->asnToXml();` |
| `DeleteSubItem` | method | `# $index is an integer $status = $asn->DeleteSubItem($index);` |
| `GetEncodedContent` | method | `# $encoding is a string # $outStr is a CkString (output) $status = $asn->GetEncodedContent($encoding, $outStr); $retStr = $asn->getEncodedContent($encoding);` |
| `GetEncodedDer` | method | `# $encoding is a string # $outStr is a CkString (output) $status = $asn->GetEncodedDer($encoding, $outStr); $retStr = $asn->getEncodedDer($encoding);` |
| `GetLastSubItem` | method | `# returns a CkAsn $ret_asn = $asn->GetLastSubItem();` |
| `GetSubItem` | method | `# returns a CkAsn # $index is an integer $ret_asn = $asn->GetSubItem($index);` |
| `LoadAsnXml` | method | `# $xmlStr is a string $status = $asn->LoadAsnXml($xmlStr);` |
| `LoadBd` | method | `# $bd is a CkBinData $status = $asn->LoadBd($bd);` |
| `LoadBinaryFile` | method | `# $path is a string $status = $asn->LoadBinaryFile($path);` |
| `LoadEncoded` | method | `# $asnContent is a string # $encoding is a string $status = $asn->LoadEncoded($asnContent, $encoding);` |
| `SetEncodedContent` | method | `# $encodedBytes is a string # $encoding is a string $status = $asn->SetEncodedContent($encodedBytes, $encoding);` |
| `WriteBd` | method | `# $bd is a CkBinData $status = $asn->WriteBd($bd);` |
| `WriteBinaryDer` | method | `# $path is a string $status = $asn->WriteBinaryDer($path);` |

Deprecated members are listed at the end of this file with their replacements; do not use them in new code.

## Properties

### Asn.BoolValue

`Chilkat 11.7.0 · ckperl · Asn · BoolValue · property · read/write · since 9.5.0.49`

```perl
# $boolVal is a boolean

$boolVal = $asn->get_BoolValue();

$asn->put_BoolValue($boolVal);
```

The ASN.1 item's boolean value if it is a boolean item.

### Asn.Constructed

`Chilkat 11.7.0 · ckperl · Asn · Constructed · property · read-only · since 9.5.0.49`

```perl
# $boolVal is a boolean

$boolVal = $asn->get_Constructed();
```

`1` if this ASN.1 item is a constructed item. Sequence and Set items are constructed and can contain sub-items. All other tags (boolean, integer, octets, utf8String, etc.) are primitive (non-constructed).

### Asn.ContentStr

`Chilkat 11.7.0 · ckperl · Asn · ContentStr · property · read/write · since 9.5.0.49`

```perl
# $strVal is a string

# $ckStr is a CkString

$asn->get_ContentStr($ckStr);

$strVal = $asn->contentStr();

$asn->put_ContentStr($strVal);
```

The ASN.1 item's content if it is an ASN.1 string type (such as Utf8String, BmpString, PrintableString, VisibleString, T61String, IA5String, NumericString, or UniversalString).

### Asn.IntValue

`Chilkat 11.7.0 · ckperl · Asn · IntValue · property · read/write · since 9.5.0.49`

```perl
# $intVal is an integer

$intVal = $asn->get_IntValue();

$asn->put_IntValue($intVal);
```

The ASN.1 item's integer value if it is a small integer item.

### Asn.NumSubItems

`Chilkat 11.7.0 · ckperl · Asn · NumSubItems · property · read-only · since 9.5.0.49`

```perl
# $intVal is an integer

$intVal = $asn->get_NumSubItems();
```

The number of sub-items contained within this ASN.1 item. Only constructed items, such as Sequence and Set will contain sub-iitems. Primitive items such as OIDs, octet strings, integers, etc. will never contain sub-items.

### Asn.Tag

`Chilkat 11.7.0 · ckperl · Asn · Tag · property · read-only · since 9.5.0.49`

```perl
# $strVal is a string

# $ckStr is a CkString

$asn->get_Tag($ckStr);

$strVal = $asn->tag();
```

The ASN.1 item's tag as a descriptive string. Possible values are:

```
boolean
integer
bitString
octets
null
oid
utf8String
relativeOid
sequence
set
numericString
printableString
t61String
ia5String
utcTime
bmpString
```

### Asn.TagValue

`Chilkat 11.7.0 · ckperl · Asn · TagValue · property · read-only · since 9.5.0.49`

```perl
# $intVal is an integer

$intVal = $asn->get_TagValue();
```

The ASN.1 item's tag as a integer value. The integer values for possible tags are as follows:

```
boolean (1)
integer (2)
bitString (3)
octets (4)
null (5)
oid (6)
utf8String (12)
relativeOid (13)
sequence (16)
set (17)
numericString (18)
printableString (19)
t61String (20)
ia5String (22)
utcTime (23)
bmpString (30)
```

## Methods

### Asn.AppendBigInt

`Chilkat 11.7.0 · ckperl · Asn · AppendBigInt · method · since 9.5.0.49`

```perl
# $encodedBytes is a string

# $encoding is a string

$status = $asn->AppendBigInt($encodedBytes, $encoding);
```

Appends an ASN.1 integer, but one that is a big (huge) integer that is too large to be represented by an integer variable. The bytes composing the integer are passed in encoded string format (such as base64, hex, etc.). The byte order must be big-endian. The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.AppendBits

`Chilkat 11.7.0 · ckperl · Asn · AppendBits · method · since 9.5.0.49`

```perl
# $encodedBytes is a string

# $encoding is a string

$status = $asn->AppendBits($encodedBytes, $encoding);
```

Appends an ASN.1 bit string to the caller's sub-items. The bytes containing the bits are passed in encoded string format (such as base64, hex, etc.). The byte order must be big-endian (MSB first). The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.AppendBool

`Chilkat 11.7.0 · ckperl · Asn · AppendBool · method · since 9.5.0.49`

```perl
# $value is a boolean

$status = $asn->AppendBool($value);
```

Appends an ASN.1 boolean item to the caller's sub-items. Items may only be appended to constructed data types such as Sequence and Set.

Returns 1 for success, 0 for failure.

### Asn.AppendContextConstructed

`Chilkat 11.7.0 · ckperl · Asn · AppendContextConstructed · method · since 9.5.0.50`

```perl
# $tag is an integer

$status = $asn->AppendContextConstructed($tag);
```

Appends an ASN.1 context-specific constructed item to the caller's sub-items.

Returns 1 for success, 0 for failure.

### Asn.AppendContextPrimitive

`Chilkat 11.7.0 · ckperl · Asn · AppendContextPrimitive · method · since 9.5.0.50`

```perl
# $tag is an integer

# $encodedBytes is a string

# $encoding is a string

$status = $asn->AppendContextPrimitive($tag, $encodedBytes, $encoding);
```

Appends an ASN.1 context-specific primitive item to the caller's sub-items. The bytes are passed in encoded string format (such as base64, hex, etc.). The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.AppendInt

`Chilkat 11.7.0 · ckperl · Asn · AppendInt · method · since 9.5.0.49`

```perl
# $value is an integer

$status = $asn->AppendInt($value);
```

Appends an ASN.1 integer item to the caller's sub-items. Items may only be appended to constructed data types such as Sequence and Set.

Returns 1 for success, 0 for failure.

### Asn.AppendNull

`Chilkat 11.7.0 · ckperl · Asn · AppendNull · method · since 9.5.0.49`

```perl
$status = $asn->AppendNull();
```

Appends an ASN.1 null item to the caller's sub-items. Items may only be appended to constructed data types such as Sequence and Set.

Returns 1 for success, 0 for failure.

### Asn.AppendOctets

`Chilkat 11.7.0 · ckperl · Asn · AppendOctets · method · since 9.5.0.49`

```perl
# $encodedBytes is a string

# $encoding is a string

$status = $asn->AppendOctets($encodedBytes, $encoding);
```

Appends an ASN.1 octet string to the caller's sub-items. The bytes are passed in encoded string format (such as base64, hex, etc.). The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.AppendOid

`Chilkat 11.7.0 · ckperl · Asn · AppendOid · method · since 9.5.0.49`

```perl
# $oid is a string

$status = $asn->AppendOid($oid);
```

Appends an ASN.1 OID (object identifier) to the caller's sub-items. The OID is passed in string form, such as `1.2.840.113549.1.9.1`.

Returns 1 for success, 0 for failure.

### Asn.AppendSequence

`Chilkat 11.7.0 · ckperl · Asn · AppendSequence · method · since 9.5.0.49`

```perl
$status = $asn->AppendSequence();
```

Appends an ASN.1 sequence item to the caller's sub-items.

Returns 1 for success, 0 for failure.

### Asn.AppendSequence2

`Chilkat 11.7.0 · ckperl · Asn · AppendSequence2 · method · since 9.5.0.50`

```perl
$status = $asn->AppendSequence2();
```

Appends an ASN.1 sequence item to the caller's sub-items, and updates the internal reference to point to the newly appended sequence item.

Returns 1 for success, 0 for failure.

### Asn.AppendSequenceR

`Chilkat 11.7.0 · ckperl · Asn · AppendSequenceR · method · since 9.5.0.50`

```perl
$status = $asn->AppendSequenceR();
```

Appends an ASN.1 sequence item to the caller's sub-items, and returns the newly appended sequence item.

Returns `null` on failure

### Asn.AppendSet

`Chilkat 11.7.0 · ckperl · Asn · AppendSet · method · since 9.5.0.49`

```perl
$status = $asn->AppendSet();
```

Appends an ASN.1 set item to the caller's sub-items.

Returns 1 for success, 0 for failure.

### Asn.AppendSet2

`Chilkat 11.7.0 · ckperl · Asn · AppendSet2 · method · since 9.5.0.50`

```perl
$status = $asn->AppendSet2();
```

Appends an ASN.1 set item to the caller's sub-items, and updates the internal reference to point to the newly appended set item.

Returns 1 for success, 0 for failure.

### Asn.AppendSetR

`Chilkat 11.7.0 · ckperl · Asn · AppendSetR · method · since 9.5.0.50`

```perl
$status = $asn->AppendSetR();
```

Appends an ASN.1 set item to the caller's sub-items, and returns the newly appended set item.

Returns `null` on failure

### Asn.AppendString

`Chilkat 11.7.0 · ckperl · Asn · AppendString · method · since 9.5.0.49`

```perl
# $strType is a string

# $value is a string

$status = $asn->AppendString($strType, $value);
```

Appends a string item to the caller's sub-items. The `strType` specifies the type of string to be added. It may be `utf8`, `ia5`, `t61`, `printable`, `visible`, `numeric`, `universal`, or `bmp`. The `value` must conform to the ASN.1 restrictions imposed for a given string type. The `utf8`, `bmp`, and `universal` types have no restrictions on what characters are allowed. In general, unless a specific type of string is required, choose the `utf8` type.

Returns 1 for success, 0 for failure.

### Asn.AppendTime

`Chilkat 11.7.0 · ckperl · Asn · AppendTime · method · since 9.5.0.49`

```perl
# $timeFormat is a string

# $dateTimeStr is a string

$status = $asn->AppendTime($timeFormat, $dateTimeStr);
```

Appends a UTCTime item to the caller's sub-items. The `timeFormat` specifies the format of the `dateTimeStr`. It should be set to `utc`. (In the future, this method will be expanded to append GeneralizedTime items by using `generalized` for `timeFormat`.) To append the current date/time, set `dateTimeStr` equal to the empty string or the keyword `now`. Otherwise, the `dateTimeStr` should be in the UTC time format `YYMMDDhhmm[ss]Z` or `YYMMDDhhmm[ss](+|-)hhmm`.

Returns 1 for success, 0 for failure.

### Asn.AsnToXml

`Chilkat 11.7.0 · ckperl · Asn · AsnToXml · method · since 9.5.0.49`

```perl
# $outStr is a CkString (output)

$status = $asn->AsnToXml($outStr);

$retStr = $asn->asnToXml();
```

Converts ASN.1 to XML and returns the XML string.

Returns 1 for success, 0 for failure.

### Asn.DeleteSubItem

`Chilkat 11.7.0 · ckperl · Asn · DeleteSubItem · method · since 9.5.0.49`

```perl
# $index is an integer

$status = $asn->DeleteSubItem($index);
```

Discards the Nth sub-item. (The 1st sub-item is at index 0.)

Returns 1 for success, 0 for failure.

### Asn.GetEncodedContent

`Chilkat 11.7.0 · ckperl · Asn · GetEncodedContent · method · since 9.5.0.49`

```perl
# $encoding is a string

# $outStr is a CkString (output)

$status = $asn->GetEncodedContent($encoding, $outStr);

$retStr = $asn->getEncodedContent($encoding);
```

Returns the content of the ASN.1 item in encoded string form. The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.GetEncodedDer

`Chilkat 11.7.0 · ckperl · Asn · GetEncodedDer · method · since 9.5.0.49`

```perl
# $encoding is a string

# $outStr is a CkString (output)

$status = $asn->GetEncodedDer($encoding, $outStr);

$retStr = $asn->getEncodedDer($encoding);
```

Returns the binary DER in encoded string form. The `encoding` indicates the encoding and can be `base64`, `hex`, `uu`, `quoted-printable`, `base32`, or `modbase64`.

Returns 1 for success, 0 for failure.

### Asn.GetLastSubItem

`Chilkat 11.7.0 · ckperl · Asn · GetLastSubItem · method · since 9.5.0.49`

```perl
# returns a CkAsn

$ret_asn = $asn->GetLastSubItem();
```

Returns the last ASN.1 sub-item. This method can be called immediately after any Append\* method to access the appended item.

Returns `null` on failure

### Asn.GetSubItem

`Chilkat 11.7.0 · ckperl · Asn · GetSubItem · method · since 9.5.0.49`

```perl
# returns a CkAsn

# $index is an integer

$ret_asn = $asn->GetSubItem($index);
```

Returns the Nth ASN.1 sub-item. The 1st sub-item is at index 0.

Returns `null` on failure

### Asn.LoadAsnXml

`Chilkat 11.7.0 · ckperl · Asn · LoadAsnXml · method · since 9.5.0.49`

```perl
# $xmlStr is a string

$status = $asn->LoadAsnXml($xmlStr);
```

Loads ASN.1 from the XML representation (such as that created by the AsnToXml method).

Returns 1 for success, 0 for failure.

### Asn.LoadBd

`Chilkat 11.7.0 · ckperl · Asn · LoadBd · method · since 9.5.0.77`

```perl
# $bd is a CkBinData

$status = $asn->LoadBd($bd);
```

Loads ASN.1 from the binary DER contained in `bd`.

Returns 1 for success, 0 for failure.

### Asn.LoadBinaryFile

`Chilkat 11.7.0 · ckperl · Asn · LoadBinaryFile · method · since 9.5.0.49`

```perl
# $path is a string

$status = $asn->LoadBinaryFile($path);
```

Loads ASN.1 from a binary DER file.

Returns 1 for success, 0 for failure.

### Asn.LoadEncoded

`Chilkat 11.7.0 · ckperl · Asn · LoadEncoded · method · since 9.5.0.49`

```perl
# $asnContent is a string

# $encoding is a string

$status = $asn->LoadEncoded($asnContent, $encoding);
```

Loads ASN.1 from an encoded string. The `encoding` can be `base64`, `hex`, `uu`, `quoted-printable`, `base32`, or `modbase64`.

Returns 1 for success, 0 for failure.

### Asn.SetEncodedContent

`Chilkat 11.7.0 · ckperl · Asn · SetEncodedContent · method · since 9.5.0.49`

```perl
# $encodedBytes is a string

# $encoding is a string

$status = $asn->SetEncodedContent($encodedBytes, $encoding);
```

Sets the content of this primitive ASN.1 item. The `encoding` may be any of the following encodings: `Base64`, `Hex`, `Base58`, `modBase64`, `Base32`, `UU`, `QP` (for quoted-printable), `URL` (for url-encoding), `Q`, `B`, `url_oath`, `url_rfc1738`, `url_rfc2396`, and `url_rfc3986`. The `encoding` name is case insensitive (for example, both `Base64` and `base64` are treated the same).

Returns 1 for success, 0 for failure.

### Asn.WriteBd

`Chilkat 11.7.0 · ckperl · Asn · WriteBd · method · since 9.5.0.77`

```perl
# $bd is a CkBinData

$status = $asn->WriteBd($bd);
```

Appends the ASN.1 in binary DER format to `bd`.

Returns 1 for success, 0 for failure.

### Asn.WriteBinaryDer

`Chilkat 11.7.0 · ckperl · Asn · WriteBinaryDer · method · since 9.5.0.49`

```perl
# $path is a string

$status = $asn->WriteBinaryDer($path);
```

Writes the ASN.1 in binary DER form to a file.

Returns 1 for success, 0 for failure.

## Deprecated members — do not use in new code

| Member | Kind | Deprecated in | Use instead |
|---|---|---|---|
| `GetBinaryDer` | method | before 11.6.1 | — |
| `LoadBinary` | method | before 11.6.1 | — |

## Related classes

[`BinData`](https://www.chilkatsoft.com/ai-docs/v/11.7.0/ckperl/classes/BinData.md)

