private string SignCsr() {
            if (!AllowRegister) {
                throw new Exception("Registration is not allowed for this build!");
            }

            var cryptoProvider = GetCryptoProvider();
            var action = new CryptoProviderAction(
                CryptoProviderActionType.Sign,
                new CryptoProviderEntity(Crs, CryptoProviderFileType.Pem, CryptoProviderEntityPrivacy.Public)
            );

            var result = cryptoProvider.Execute(action);

            return result.Entity.EntityBody;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        private ICryptoProviderResult CheckCredentials() {

            var source =  @"MIME-Version: 1.0
Content-Disposition: attachment; filename=""smime.p7m""
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name=""smime.p7m""
Content-Transfer-Encoding: base64

" + Cms + @"
";
            var cryptoProvider = GetCryptoProvider();
            var action = new CryptoProviderAction(
                CryptoProviderActionType.Verify,
                new CryptoProviderEntity(source, CryptoProviderFileType.Pkcs7, CryptoProviderEntityPrivacy.Public)
            );

            action.Config["Salt"] = Salt;

            var result = cryptoProvider.Execute(action);

            return result;
        }