• Kairos@lemmy.today
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    4
    ·
    2 days ago

    The problem with that is that certificates expire before someone would want to keep using the app.

    • xthexder@l.sw0.com
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 days ago

      Code signing certificates work a little differently than SSL certificates. A timestamp is included in the signature so the certificate only needs to be valid at the time of signing. The executable will remain valid forever, even if the certificate later expires. (This is how it works on Windows)

      • InnerScientist@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        Doesn’t work, the reason they can expire is to make certificate rotation possible. If an expired ssl certificate is cracked it doesn’t matter because no browser will accept the expired certificate, with your idea the expired certificate just signs an app with the date of 1984 and it works.

        Certificates in SSL can’t change the date because that date is signed by a certificate higher in the hierarchy.

          • InnerScientist@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            21 hours ago

            Then you need a Trusted Third Party, right? Still requires some though on how to prevent that third party from blocking applications they don’t like but I can see how a group of trusted authorities could work.

            • xthexder@l.sw0.com
              link
              fedilink
              English
              arrow-up
              2
              ·
              17 hours ago

              The trusted 3rd party in this case is actually multiple 3rd parties. There’s several options for trusted timestamping just like there’s multiple trusted root CAs for SSL. Since the timestamping service is free and public, anyone can use it to sign anything, even self-signed certificates. There’s no mechanism to deny access, at least for this portion.

              There’s always a risk the root CAs all collude and refuse to give out certificates to people they don’t like, but at least so far this hasn’t been a problem. I don’t have a better solution unfortunately. If we could have a 100% decentralized signing scheme that would be ideal, but I have no idea how you would build such a thing without identity verification and some inherit trust in the system

      • Kairos@lemmy.today
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        Correction: SSL certificates can expire before someone would want to continue being able to install any given app.

        • Zak@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          2 days ago

          Sure, the developer needs to keep the certificate up to date and re-sign the APK on occasion.

          • Kairos@lemmy.today
            link
            fedilink
            English
            arrow-up
            3
            ·
            2 days ago

            So any APK I download will just expire at some point in time that’s probably really annoying to know, and then I have to dig through the internet again so I can install the app again?

            • Zak@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              15 hours ago

              Another option is to allow otherwise-valid signatures after expiration. It’s generally still possible to check them.

                • Zak@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  15 hours ago

                  How? Expiration doesn’t grant an unauthorized party access to the private key.

            • Pycorax@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              If it’s anything like how Windows does it, you would still be able to override it. It just gives you a scary warning and hides the option unless you click “more info” or something.