Skip to content

Look into how npm plist module is parsing data fields in plists #10

Open
@ahoog42

Description

@ahoog42

When converting a plist into a json object, the npm module plist appears to base64 decode data fields and convert into a array of bytes. This is problematic for our data and needs to be looked into. Below are a few examples:

plist file
-------
<key>SKeyHash</key>
                <data>
                7MQEUyvzG4gjjZc7KsNNAVTS8g4=
                </data>

json data as converted by plist module
-------
        "SKeyHash": {
          "type": "Buffer",
          "data": [
            236,
            196,
            4,
            83,
            43,
            243,
            27,
            136,
            35,
            141,
            151,
            59,
            42,
            195,
            77,
            1,
            84,
            210,
            242,
            14
          ]

and one more example"

plist file
-------
        <key>DevicePublicKey</key>
        <data>
        LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFQXhwc0s4V0Nx
        bGczemljdE94cDNHSHFub1oxUUYuZnl1QWdGT3RWZ3I5blJlZVhSMC9kcEcKV1VsS1ZE
        MEVKSmFvWWtXOFJqTEdMeW5Ma1JDd0iUWjlJb2JybXlTU2F1NWFrRFMvSklOK1FmUTFk
        OXRPMlYxSgpVQ2RtbnZGNVpYYjZuM1pZb0RmMG5PTDZ0ZWVpOGdvNlpQM3F0TjVkWEpo
        kEJDMGF2SWh1dGpMU0dqLzFaUEhHCjNwV2w4dFhXdE9CYk5yRUpsMk1aa3E5VGdhTHVx
        Nm41M0h4TmVoODE4UGx5QUQ0NVJxd0RtMjh2RSsxNVBBMmwKSDlMZXB0SVFSS1dtMkR4
        U2sYPOc4ckVCT2RnMTBmY0pIZk9WTXNDbzhac3o3V2NNNFEwbTArdDFVM1lGdHNKaQpx
        Znl4ZjlXMm8zazlxUTBqS3RZSDFOWU1JN0poWVVUc0t3SURBUUFCCi0tLS0tRU5EIFJT
        QSBQVUJMSUMgS0VZLS0tkosl
        </data>

json data as converted by plist module
-------
      "DevicePublicKey": {
        "type": "Buffer",
        "data": [
          45,
          45,
          45,
          45,
          45,
          66,
          69,
          71,
          73,
          78,
          32,
<snip>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions