Transférer des fichiers sur FTPS (SSL / TLS) en utilisant C # .Net
Je suis en train d'écrire une application qui permet de synchroniser des fichiers sur un site FTP. Maintenant, c'est le travail en vous connectant via FTP classique, mais maintenant, les gars veulent mettre en place cela sur une FTPS sécurisé la connexion.
Ils m'ont fourni avec un *.cr_ fichier de certificat. Si j'ouvre le fichier dans le bloc-notes, je vois quelque chose comme ça (mais avec de vraies touches pas foobar évidemment).
-----BEGIN RSA PRIVATE
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR
-----END CERTIFICATE-----
Comment puis-je utiliser ce fichier de certificat pour se connecter au serveur FTPS pour charger et télécharger des fichiers? Pardonnez-moi mais je suis très nouveau pour tout ce qui concerne le transfert de fichiers sur un réseau, les connexions sécurisées, des certificats, des clés publiques les clés privées, etc...etc...
Je pense que je voudrais utiliser une FtpWebRequest objet et de définir la EnableSsl true à la propriété. Mais je ne suis pas sûr de l'endroit où ce fichier de certificat entre en jeu.
source d'informationauteur Eric Anastas
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à l'aide de la FtpWebRequest Classevous avez juste besoin d'ajouter quelques choses à l'installation de la demande. Assurez-vous d'inclure les
using System.Security.Cryptography.X509Certificates;
déclaration.Aussi, si vous avez des problèmes avec le certificat de générer des exceptions que vous pouvez avoir besoin pour mettre en œuvre votre propre certificat de validation de la méthode de rappel pour une utilisation avec le ServicePointManager.ServerCertificateValidationCallback Propriété. Cela peut être aussi simple que de toujours renvoyer true ou plus sophistiqué comme celui que j'ai utiliser pour le débogage:
Cet article explique comment le faire, avec le code source.