Comment vérifier un fichier de clé publique RSA
À l'intérieur d'un script shell, je veux vérifier publique RSA de fichier.
Tout ce que je veux faire, c'est que trouver un moyen de vérifier ce fichier est un véritable fichier de clé publique, rien d'autre.
Puis-je demander à des experts ici quels sont les moyens que je peux vérifier ce fichier d'entrée pour vérifier ceci est un véritable fichier de clé publique , et non pas un fichier régulier.
Je vais utiliser ce fichier de clé publique à l'avenir afin de valider l'arrivée d'un crypter le fichier gzip, mais qui est hors de portée pour l'instant.
Tout ce que je veux est de valider le fichier d'entrée pour vérifier son véritable clé publique RSA fichier n'est pas un fichier ordinaire.veuillez noter que je n'ai pas d'autres fichiers avec moi (par exemple : clé privée) .
par exemple: si le fichier est ‘public.pem’
je veux juste vérifier à l'intérieur que c'est une véritable clé publique RSA fichier n'est pas juste un fichier avec des textes ou le fichier n'est pas corrompu .
Je suis déjà vérifier que le fichier n'est pas zéro, de taille et de md5 .
autres vérifications possibles, j'ai trouvé
vérifier le fichier obtenu texte ‘BEGIN PUBLIC KEY’
et ‘END PUBLIC KEY’
Aussi trouvé cette commande dans google , Est-il une meilleure façon de le faire à l'aide d'openssl
‘openssl rsa -noout -text -inform PEM -in pubkey.pem -pubin’
Grâce
BEGIN PUBLIC KEY heeheeheethisisnotvalidrsa END PUBLIC KEY
et votre "vérificateur" l'accepterait.exactement c'est pourquoi je voudrais savoir une meilleure façon de validay ce public rsa fichier, veuillez noter que ce public RSA fichier sur un serveur distant .
OriginalL'auteur csf | 2014-10-08
Vous devez vous connecter pour publier un commentaire.
Il est possible d'utiliser tout public format de la clé de l'analyseur, y compris
openssl
ou même analyser clé vous-même que le format n'est pas difficile.Outils de ligne de commande définir un code de sortie non nulle, lors de l'analyse échoue:
Juste pour vérifier tout à clé publique:
.getPublicKey()
de cert, mais publickey directement pas. Otoh, que l'application peut lire directement un générique (PKCS#8) pubkey en DER, mais en base64 de moins en moins facilement, sans un addon comme BouncyCastle. En aparté, suropenssl
ligne de commande-inform PEM
est la valeur par défaut et peut être omis, et les options de sortie-text -noout
peut être omis lorsque vous êtes en rejetant la sortie de toute façon; ou avec-noout
et aucune autre option de sortie(s) vous n'avez pas besoin de les jeter.Oui, ça ressemble à keytool ne peut pas le faire. base64 est soutenu à la fois par
base64
utilitaire, par exemple, et en Java parjavax.xml.bind.DataTypeConverter
classe. J'aime être explicite sur les formats et d'autres choses, il n'y a pas beaucoup de gain en sautant format ni. Il est exact que les-noout
et-text
ne pas faire sens ensemble, mais la sortie reste à la jeter, car il y a des messages d'erreur possibles signalés, même avec-noout
option.Vous avez raison, j'ai oublié javax.xml qui n'était pas là quand j'ai d'abord rencontré ce problème. Bien que vous avez réellement besoin en base64 et au début/FIN de la manipulation, qui est à quelques lignes de plus.
-noout -text
ne sens ensemble (à la sortie de l'homme-affichage lisible sans l'encodage du cert) et donc faire des combinaisons semblables comme-noout -subject -enddate
; ils seulement ne pas faire de différence lors de la sortie standard (stdout) est ignoré. Vous êtes également en droit de les rejeter les messages d'erreur; je suis tellement habitué à eux, je remarque à peine, mais d'autres le feront.Note pour le futur moi: vous pourriez faire
openssl pkey -inform PEM -pubin -in pubkey.pem -noout &> /dev/null || echo "this was definitely not a public key in PEM format"
OriginalL'auteur divanov
Le script suivant devrait fonctionner pour tous les PEM format des clés et des certificats pris en charge par OpenSSL. Je l'ai testé sur différents valides et non valides ECDSA et les clés RSA avec d'appariement et de non-appariement des certs.
Enregistrer ce que vérifier-cert-clés:
Le rendre exécutable:
L'exécuter sur un certificat:
OriginalL'auteur Alain O'Dea