Dave Meetchum
2012-02-17 19:12:43 UTC
I am trying to use OpenSSL on iOS and Android in conjunction with libcurl
for my applications HTTP interface. From what I understand OpenSSL does not
come with a CA cert which is understandable. Also my understanding is that
if you need a CA cert on the client to verify the server is who they claim
to be. So basically I need to embed a CA cert in my app or pull it over the
network on an unsecure connection when the app starts up. Is there another
way to get a CA cert on these devices? Am I correct that I definitely need
one and need to provide it myself?
After reading the documentation the general suggestion is that a CA cert
can be obtained from Mozilla. This seems a bit odd. From what I have read,
CAs can be added and removed from the cert, and certs expire. How would you
know if you your app using OpenSSL needs to update it's cert? Would you
have to pull a cert from Mozilla everyday and diff it against the one you
are using? Also if you have an app on a mobile device that needs to update
its CA cert, how can it do it safely without worrying about a man in the
middle attack giving you a bad cert or someone on the device replacing your
copy of the CA cert once it has been downloaded?
I feel like I am missing something here and that using OpenSSL should be
easier than I am making it out to be. Any help or insight would definitely
be appreciated!
Cheers,
Dave
for my applications HTTP interface. From what I understand OpenSSL does not
come with a CA cert which is understandable. Also my understanding is that
if you need a CA cert on the client to verify the server is who they claim
to be. So basically I need to embed a CA cert in my app or pull it over the
network on an unsecure connection when the app starts up. Is there another
way to get a CA cert on these devices? Am I correct that I definitely need
one and need to provide it myself?
After reading the documentation the general suggestion is that a CA cert
can be obtained from Mozilla. This seems a bit odd. From what I have read,
CAs can be added and removed from the cert, and certs expire. How would you
know if you your app using OpenSSL needs to update it's cert? Would you
have to pull a cert from Mozilla everyday and diff it against the one you
are using? Also if you have an app on a mobile device that needs to update
its CA cert, how can it do it safely without worrying about a man in the
middle attack giving you a bad cert or someone on the device replacing your
copy of the CA cert once it has been downloaded?
I feel like I am missing something here and that using OpenSSL should be
easier than I am making it out to be. Any help or insight would definitely
be appreciated!
Cheers,
Dave