omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Get a list of all keys in Pythonista's keychain?

    Pythonista
    7
    16
    10629
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • omz
      omz last edited by

      I'll add a <code>get_services()</code> function in the next update. That'll allow you to get a list of all accounts you've stored in the keychain.

      1 Reply Last reply Reply Quote 0
      • jugisto135
        jugisto135 last edited by

        Awesome, thanks!

        1 Reply Last reply Reply Quote 0
        • kgfme
          kgfme last edited by

          I don't think the keychain is so secure being you can "print" any password that is in there. Is there a way to disable Pythonista from printing passwords or variables that were assigned a password?

          Seems like the "secure storage" of passwords is out the door with anybody who has the tiniest bit of programming knowledge to just print them.

          1 Reply Last reply Reply Quote 0
          • omz
            omz last edited by

            If someone has physical access to your device, all bets are off anyway (e.g. someone could reset your passwords and check your email etc., and if you don't use a passcode, they could also read Safari passwords in plain text from the Settings app). Still, I'm considering to add support for a "master" password that would be requested when you call get_password...

            1 Reply Last reply Reply Quote 0
            • kgfme
              kgfme last edited by

              Thanks. That is true. Having access to email means resetting passwords. Just hate having passwords out in the open and easy to access like that. I was thinking about what way you can make it better too and I think your idea is a pretty good one. If they don't have a master password, then they can't run the get_password command. Would love to see this.

              1 Reply Last reply Reply Quote 0
              • userista
                userista last edited by

                Can a different app have access to the Pyhtonista keychain (if it uses the proper bundle id etc.)?

                I'm thinking of a scenario where someone has physical access to your device, they can install an app to access Pythonista's keychain. Even if there's a set_master_password()....

                1 Reply Last reply Reply Quote 0
                • dgelessus
                  dgelessus last edited by

                  The keychain is a standard iOS feature and deeply integrated into the system, as far as I know it's not stored in the app bundle. Apple's app sandboxing also prevents apps from reading files outside their own bundle, except for a few essential ones. Even if someone got access to the keychain database using a jailbreak, it would still be encrypted. I don't know what kind of encryption is used and how secure it actually is, but point is that accessing the keychain is not easy.

                  1 Reply Last reply Reply Quote 0
                  • oefe186
                    oefe186 last edited by

                    Another app might not be able to read Pythonista's keychain, but any script within Pythonista can.

                    So if you download and run untrusted scripts, and have valuable passwords in Pythonista, it might be a good idea to use a master password.

                    1 Reply Last reply Reply Quote 0
                    • userista
                      userista last edited by

                      Hmmmm, I was wondering because Google's apps all have access to the keychain (and can therefore share login state). Though from this answer on Stack Overflow, it seems that it's only if the app shares the same Bundle Seed ID - I'm guessing that it is not possible to access normally. If the phone is jailbroken maybe you could view the bundle seed id and then install another app with the same bundle seed ID?

                      Really need an iOS dev to chime in on this....

                      1 Reply Last reply Reply Quote 0
                      • dafire
                        dafire last edited by

                        As long as your device is not jailbroken you are right, only apps with the same Bundle Seed ID have access.

                        If you jailbreak your device you loose all security features and apps that did not went through review and automatic checks at apple can use internal functions to receive any data stored in the keychain.

                        1 Reply Last reply Reply Quote 0
                        • userista
                          userista last edited by

                          @dafire Aha thanks for the clarification

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Powered by NodeBB Forums | Contributors