Pregunta

Estoy escribiendo un pequeño programa (un cliente de Twitter) en Java, dirigido a Mac OS X. Como parte de su funcionalidad, tiene que tener un lugar para guardar el canto nombre de usuario / contraseña. El lugar natural sería el llavero Mac, pero no puedo encontrar ninguna manera de acceder a él.

¿Hay alguna manera de acceder al llavero mac de Java, o en su defecto, ¿cuál es su recomendación para dónde almacenar el nombre de usuario / contraseña en su lugar?

¿Fue útil?

Solución

No es Java API llavero, en el que hay una implementación de almacén de claves en OS X respaldado por el llavero .

Creo que el llavero es el mejor lugar (si no la lugar) para almacenar la contraseña. Está encriptado con un buen algoritmo, el usuario es libre de ser lo más permisiva o como paranoica sobre la disponibilidad del llavero para aplicaciones como les gusta, y la clave sería entonces ser almacenada con y configurado como todas las otras contraseñas que el usuario almacene.

Otros consejos

No he probado esto, pero parece que se puede acceder al llavero con el proveedor de cifrado de Apple (com.apple.crypto.provider.Apple), creando un tipo de KeyStore KeychainStore.


De acuerdo, después de un poco de experimentación, yo era capaz de acceder a las entradas de clave privada en certificados en el KeychainStore. Sin embargo, las contraseñas en mis llaves no aparecieron (sin alias fue incluido), y cuando traté de añadir un KeyStore.SecretKeyEntry (que es lo que se necesita para mantener una contraseña) que falló con el mensaje, "La llave no es un PrivateKey ". Está claro que Apple no ha apoyado SecretKeyEntry.

Si todavía quiere proteger su contraseña de Twitter a través de la cadena de clave, creo que el más cercano que puedes conseguir es para generar un par de claves RSA, la auto-firmar un certificado, y añadir un PrivateKeyEntry al llavero. A continuación, puede utilizar el par de claves para proteger la contraseña de Twitter.

No es terriblemente difícil para firmar certificados a sí mismo, pero si vas por ese camino, es posible que desee echa un vistazo a la biblioteca BouncyCastle en busca de ayuda.

Usted debe echar un vistazo a la página twitters API en el apoyo OAuth. Mediante el uso de OAuth, que no es necesario conocer la contraseña de twitter del usuario.

http://apiwiki.twitter.com/OAuth-FAQ

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top