Skip to content

Commit 3940868

Browse files
committed
ensure bouncycastle is available. Always set password on pfx.
1 parent 10d2052 commit 3940868

File tree

10 files changed

+29
-8
lines changed

10 files changed

+29
-8
lines changed

LetsEncrypt-SiteExtension/Web.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@
137137
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
138138
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
139139
</dependentAssembly>
140+
<dependentAssembly>
141+
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
142+
<bindingRedirect oldVersion="0.0.0.0-1.8.5.0" newVersion="1.8.5.0" />
143+
</dependentAssembly>
140144
</assemblyBinding>
141145
</runtime>
142146
<system.codedom>

LetsEncrypt.SiteExtension.Core/LetsEncrypt.Azure.Core.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@
6969
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
7070
</PropertyGroup>
7171
<ItemGroup>
72+
<Reference Include="BouncyCastle.Crypto, Version=1.8.5.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
73+
<HintPath>..\packages\Portable.BouncyCastle.1.8.5\lib\net40\BouncyCastle.Crypto.dll</HintPath>
74+
</Reference>
7275
<Reference Include="Certes, Version=2.3.3.0, Culture=neutral, PublicKeyToken=308b9c08e7effcb1, processorArchitecture=MSIL">
7376
<HintPath>..\packages\Certes.2.3.3\lib\net45\Certes.dll</HintPath>
7477
</Reference>

LetsEncrypt.SiteExtension.Core/LetsEncrypt.Azure.Core.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<metadata>
44
<id>letsencrypt.azure.core</id>
55
<title>Azure Let's Encrypt</title>
6-
<version>1.0.0</version>
6+
<version>1.0.1</version>
77
<authors>SJKP</authors>
88
<licenseUrl>http://opensource.org/licenses/Apache-2.0</licenseUrl>
99
<projectUrl>https://github.com/sjkp/letsencrypt-siteextension</projectUrl>
@@ -16,6 +16,7 @@
1616
<dependency id="Microsoft.Azure.Management.Websites" version="2.0.1" />
1717
<dependency id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.14.0"></dependency>
1818
<dependency id="Newtonsoft.Json" version="12.0.1" />
19+
<dependency id="BouncyCastle" version="1.8.5" />
1920
</dependencies>
2021
</metadata>
2122
</package>

LetsEncrypt.SiteExtension.Core/Services/ACMEService.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class AcmeService
2222
private readonly IAuthorizationChallengeProvider authorizeChallengeProvider;
2323

2424
public AcmeService(IAcmeConfig config, IAuthorizationChallengeProvider authorizeChallengeProvider)
25-
{
25+
{
2626
if (string.IsNullOrEmpty(config.BaseUri))
2727
{
2828
this.acmeenvironment = (config.UseProduction ? WellKnownServers.LetsEncryptV2 : WellKnownServers.LetsEncryptStagingV2);
@@ -71,14 +71,15 @@ public async Task<CertificateInfo> RequestCertificate()
7171
var certPem = cert.ToPem();
7272

7373
var pfxBuilder = cert.ToPfx(privateKey);
74-
var pfx = pfxBuilder.Build(config.Host, config.PFXPassword);
74+
string pFXPassword = config.PFXPassword ?? Guid.NewGuid().ToString().Replace("-", "");
75+
var pfx = pfxBuilder.Build(config.Host, pFXPassword);
7576

7677

7778
return new CertificateInfo()
7879
{
79-
Certificate = new X509Certificate2(pfx, config.PFXPassword, X509KeyStorageFlags.DefaultKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable),
80+
Certificate = new X509Certificate2(pfx, pFXPassword, X509KeyStorageFlags.DefaultKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable),
8081
Name = $"{config.Host} {DateTime.Now}",
81-
Password = config.PFXPassword,
82+
Password = pFXPassword,
8283
PfxCertificate = pfx
8384
};
8485

LetsEncrypt.SiteExtension.Core/app.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
1919
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
2020
</dependentAssembly>
21+
<dependentAssembly>
22+
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
23+
<bindingRedirect oldVersion="0.0.0.0-1.8.5.0" newVersion="1.8.5.0" />
24+
</dependentAssembly>
2125
</assemblyBinding>
2226
</runtime>
2327
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /></startup></configuration>

LetsEncrypt.SiteExtension.Core/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<package id="NETStandard.Library" version="2.0.3" targetFramework="net46" />
1616
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net46" />
1717
<package id="Polly" version="6.1.2" targetFramework="net46" />
18-
<package id="Portable.BouncyCastle" version="1.8.1.4" targetFramework="net46" />
18+
<package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net46" />
1919
<package id="System.AppContext" version="4.3.0" targetFramework="net46" />
2020
<package id="System.Collections" version="4.3.0" targetFramework="net46" />
2121
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" />

LetsEncrypt.SiteExtension.Test/App.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@
7474
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
7575
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
7676
</dependentAssembly>
77+
<dependentAssembly>
78+
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
79+
<bindingRedirect oldVersion="0.0.0.0-1.8.5.0" newVersion="1.8.5.0" />
80+
</dependentAssembly>
7781
</assemblyBinding>
7882
</runtime>
7983
<startup>

LetsEncrypt.SiteExtension.WebJob/App.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@
6363
<assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
6464
<bindingRedirect oldVersion="0.0.0.0-3.14.0.8" newVersion="3.14.0.8" />
6565
</dependentAssembly>
66+
<dependentAssembly>
67+
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
68+
<bindingRedirect oldVersion="0.0.0.0-1.8.5.0" newVersion="1.8.5.0" />
69+
</dependentAssembly>
6670
</assemblyBinding>
6771
</runtime>
6872
</configuration>

LetsEncrypt.WebAppOnly.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<metadata>
44
<id>letsencrypt.webapponly</id>
55
<title>Azure Let's Encrypt (No Web Jobs)</title>
6-
<version>1.0.0</version>
6+
<version>1.0.1</version>
77
<authors>SJKP</authors>
88
<licenseUrl>http://opensource.org/licenses/Apache-2.0</licenseUrl>
99
<projectUrl>https://github.com/sjkp/letsencrypt-siteextension</projectUrl>

LetsEncrypt.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<metadata>
44
<id>letsencrypt</id>
55
<title>Azure Let's Encrypt</title>
6-
<version>1.0.0</version>
6+
<version>1.0.1</version>
77
<authors>SJKP</authors>
88
<licenseUrl>http://opensource.org/licenses/Apache-2.0</licenseUrl>
99
<projectUrl>https://github.com/sjkp/letsencrypt-siteextension</projectUrl>

0 commit comments

Comments
 (0)