示例#1
0
        protected override Task OnGoAsync()
        {
            GetEm(@"C:\Users\jason\AppData\Local\Temp\pride\").ExecuteSynchronously();
            var key = File.ReadAllText(@"C:\Users\jason\Documents\Traffk\TraffkDataTransferPGPKeys - Copy (2).asc");

            using (var keyStream = StreamHelpers.Create(key, System.Text.ASCIIEncoding.ASCII))
            {
                using (var encryptedStream = File.OpenRead(@"C:\Users\jason\AppData\Local\Temp\fb70911d-0bc5-4a08-b31a-72de6c1ab817\DataSourceSyncRunner\1\655\fb70911d-0bc5-4a08-b31a-72de6c1ab817.113976156 (1).pgp"))
//                using (var encryptedStream = File.OpenRead(@"C:\Users\jason\Desktop\EthosEnergy_ELIG_07062017.txt.pgp"))
                {
                    BackgroundJobServer.EasyNetPGP.PgpEncryptorDecryptor.DecryptFile(
                        encryptedStream,
                        keyStream,
                        "1ne@WO3hree$OUR5ive^IX7even*IGHT9ine",
                        @"C:\Users\jason\Desktop\EthosEnergy_ELIG_07062017.txt");
                }
            }

            FtpDS();
            return(base.OnGoAsync());
        }
示例#2
0
        private async Task DecryptAsync(Stream st, string destinationFile)
        {
            var pw = await Vault.GetSecretAsync(Bal.Services.Vault.CommonSecretUris.TraffkPgpPrivateKeyPasswordUri);

            var sk = await Vault.GetSecretAsync(Bal.Services.Vault.CommonSecretUris.TraffkPgpPrivateKeyUri);

            lock (DecryptAsyncLocker)
            {
                var ring = Cache.DataCacher.FindOrCreateValWithSimpleKey(sk, () =>
                {
                    using (var keyStream = StreamHelpers.Create(sk, System.Text.ASCIIEncoding.ASCII))
                    {
                        return(EasyNetPGP.PgpEncryptorDecryptor.CreatePgpSecretKeyRingBundle(keyStream));
                    }
                });
                EasyNetPGP.PgpEncryptorDecryptor.DecryptFile(
                    st,
                    null,
                    pw,
                    destinationFile,
                    ring);
            }
        }
        /// <remarks>https://docs.microsoft.com/en-us/rest/api/</remarks>
        /// <remarks>https://docs.microsoft.com/en-us/rest/api/sql/databases</remarks>
        /// <remarks>https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy</remarks>
        /// <remarks>https://docs.microsoft.com/en-us/powershell/module/azure/start-azuresqldatabasecopy?view=azuresmps-4.0.0</remarks>
        /// <remarks>https://docs.microsoft.com/en-us/azure/azure-resource-manager/powershell-azure-resource-manager</remarks>
        /// <remarks>https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-copy-database-to-new-server-powershell?toc=%2fpowershell%2fmodule%2ftoc.json</remarks>
        private async Task CopyDatabaseInitiateAsync(
            Microsoft.Azure.Management.Sql.Models.Server sourceServer,
            Microsoft.Azure.Management.Sql.Models.Database sourceDatabase,
            string destinationDatabase)
        {
            Requires.NonNull(sourceDatabase, nameof(sourceDatabase));
            Requires.Text(destinationDatabase, nameof(destinationDatabase));

            var req = new CopyDatabaseRequest
            {
                location   = sourceDatabase.Location,
                properties = new CopyDatabaseRequest.Properties
                {
                    sourceDatabaseId = sourceDatabase.Id
                }
            };

            using (var c = new HttpClient())
            {
                using (var st = StreamHelpers.Create(req.ToJson()))
                {
                    var token = await CredentialFactory.GetTokenCredentialAsync(SqlAzureManagementApiResource);

                    c.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
                    c.DefaultRequestHeaders.Add("CommandName", "New-AzureRmSqlDatabaseCopy");
                    c.DefaultRequestHeaders.Add("ParameterSetName", "__AllParameterSets");

                    var content = new StreamContent(st);
                    content.Headers.ContentType = MimeType.Application.Json;
                    var resp = await c.PutAsync(
                        $"https://management.azure.com/subscriptions/{ConfigOptions.Value.SubscriptionId}/resourceGroups/{ConfigOptions.Value.ResourceGroupName}/providers/Microsoft.Sql/servers/{sourceServer.Name}/databases/{destinationDatabase}?api-version=2014-04-01",
                        content);

                    var ret = resp.Content.ReadAsStringAsync();
                }
            }
        }