示例#1
0
        /// <summary>
        /// Create .cer or .pfx file from an X509Certificate2 object
        /// </summary>
        /// <param name="cert">an X509Certificate2 object</param>
        /// <param name="NewCerFile">name of generated .cer file</param>
        /// <returns>full path of newly generated .cer file</returns>
        public static string CreateCertFile(X509Certificate2 cert, string NewCertFile, CertFileType certFileType)
        {
            byte[] CerContents;

            // Write the content to a local .cer file so that users can upload it into Azure
            if (certFileType == CertFileType.Cer)
            {
                CerContents = cert.Export(X509ContentType.Cert);
            }
            else
            {
                CerContents = cert.Export(X509ContentType.Pfx, PasswordForCert);
            }

            using (FileStream fileStream = new FileStream(NewCertFile, FileMode.Create))
            {

                for (int i = 0; i < CerContents.Length; i++)
                {
                    fileStream.WriteByte(CerContents[i]);
                }

                fileStream.Seek(0, SeekOrigin.Begin);
                fileStream.Close();
            }

            return System.IO.Path.GetFullPath(NewCertFile);
        }
示例#2
0
        // BizRule cert file name pattern - <Partner Name> - Biz Rule - <anything>.xlsx
        // Spec cert file name pattern - <Partner Name> - Spec Cert - <version> - <Message domain id> - <direction>.xlsx
        public static CertFileType GetCertFileType(string certFileName)
        {
            CertFileType certFileType = CertFileType.Invalid;

            if (string.IsNullOrWhiteSpace(certFileName) == false)
            {
                certFileName = Path.GetFileNameWithoutExtension(certFileName);
                string[] fileNameParts = certFileName.Split('-');

                if (fileNameParts.Length > 2)
                {
                    fileNameParts[1] = fileNameParts[1].Trim();
                    if (string.Equals(fileNameParts[1], "Biz Rule", StringComparison.OrdinalIgnoreCase) == true)
                    {
                        certFileType = CertFileType.BizRuleCert;
                    }
                    else
                    if (string.Equals(fileNameParts[1], "Spec Cert", StringComparison.OrdinalIgnoreCase) == true)
                    {
                        certFileType = CertFileType.SpecCert;
                    }
                }
            }

            return(certFileType);
        }