Giter VIP home page Giter VIP logo

Comments (4)

alvinbaena avatar alvinbaena commented on August 30, 2024

When signing the pass you have to make sure that the signing certificate, downloaded from the developer portal, is not modified or chained with any other certificates. You have to use it as is.

Have you added the pass certificate into the PKCS12 store with other certificates?, this will not work as the signature will be different.

from passkit.

theobouwman avatar theobouwman commented on August 30, 2024

Steps:

  1. Download Pass Type ID certificate from Apple Portal with these steps (https://www.walletthat.com/help/creating-a-pass-type-id-pass-signing-certificate/)
  2. Download wwdr.cer from Apple Portal
  3. And run the code I already gave.

So where is it going wrong?

from passkit.

theobouwman avatar theobouwman commented on August 30, 2024

When signing the pass you have to make sure that the signing certificate, downloaded from the developer portal, is not modified or chained with any other certificates. You have to use it as is.

Have you added the pass certificate into the PKCS12 store with other certificates?, this will not work as the signature will be different.

To get a .p12 file you must open the .cer file from the portal and export it as .p12 right?

from passkit.

alvinbaena avatar alvinbaena commented on August 30, 2024

Sorry for my late response.

If I recall correctly you have to add it to your machine's keychain, as stated on the link you provided, and then export it as a p12 file. When exporting the certificate chain you must only include the certificate for your pass (with it's respective private key) on the p12 file. This means no other pass certificates should be included in the p12 file.

Also, if you haven't, please update the library code. Recently there have been some community contributions regarding the certificate signing process.

Also, please try using the updated example and see if the error persists. This new example uses fields with different keys, this may be the error you're seeing.

c := passkit.NewBoardingPass(passkit.TransitTypeAir)

// Utility functions for adding fields to a pass
c.AddHeaderField(passkit.Field{
    Key: "your_head_key",
    Label: "your_displayable_head_label",
    Value:"value",
})
c.AddPrimaryFields(passkit.Field{
    Key: "your_prim_key",
    Label: "your_displayable_prim_label",
    Value:"value",
})
c.AddSecondaryFields(passkit.Field{
    Key: "your_sec_key",
    Label: "your_displayable_sec_label",
    Value:"value",
})
c.AddAuxiliaryFields(passkit.Field{
    Key: "your_aux_key",
    Label: "your_displayable_aux_label",
    Value:"value",
})
c.AddBackFields(passkit.Field{
    Key: "your_back_key",
    Label: "your_displayable_back_label",
    Value:"value",
})

pass := passkit.Pass{
    FormatVersion:       1,
    TeamIdentifier:      "TEAMID",
    PassTypeIdentifier:  "pass.type.id",
    AuthenticationToken: "123141lkjdasj12314",
    OrganizationName:    "Your Organization",
    SerialNumber:        "1234",
    Description:         "test",
    BoardingPass:         c,
    Barcodes: []passkit.Barcode{
        {
            Format:          passkit.BarcodeFormatPDF417,
            Message:         "1312312312312312312312312312",
            MessageEncoding: "utf-8",
        },
    },
}

from passkit.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.