I work on C# web application and need to download files using FTP to local folder. Those images need to have modification date greater than date I specify.
Code:
public static List<FTPLineResult> GetFilesListSortedByDate(string ftpPath, Regex nameRegex, DateTime cutoff, System.Security.Cryptography.X509Certificates.X509Certificate cert)
{
    List<FTPLineResult> output = new List<FTPLineResult>();
    if (cert != null)
    {
        FtpWebRequest request = FtpWebRequest.Create(ftpPath) as FtpWebRequest;
        request.Credentials = new NetworkCredential("unm", "pwd");
        request.ClientCertificates.Add(cert);
        ConfigureProxy(request);
        request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
        FtpWebResponse response = request.GetResponse() as FtpWebResponse;
        StreamReader directoryReader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.ASCII);
        var parser = new FTPLineParser();
        while (!directoryReader.EndOfStream)
        {
            var result = parser.Parse(directoryReader.ReadLine());
            if (!result.IsDirectory && result.DateTime > cutoff && nameRegex.IsMatch(result.Name))
            {
                output.Add(result);
            }
        }
        // need to ensure the files are sorted in ascending date order
        output.Sort(
            new Comparison<FTPLineResult>(
                delegate(FTPLineResult res1, FTPLineResult res2)
                {
                    return res1.DateTime.CompareTo(res2.DateTime);
                }
            )
        );
    }
    return output;
}
I have to use certificate (.p12).
How can I do this?