Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Titanium-Web-Proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Titanium-Web-Proxy
Commits
bbd3f765
Commit
bbd3f765
authored
Aug 11, 2020
by
justcoding121
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#782 use 825 valid days to accomodate iOS 13
parent
bf8dd66b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
14 deletions
+23
-14
BCCertificateMaker.cs
src/Titanium.Web.Proxy/Certificates/BCCertificateMaker.cs
+4
-3
BCCertificateMakerFast.cs
...Titanium.Web.Proxy/Certificates/BCCertificateMakerFast.cs
+3
-2
CertificateManager.cs
src/Titanium.Web.Proxy/Certificates/CertificateManager.cs
+9
-3
WinCertificateMaker.cs
src/Titanium.Web.Proxy/Certificates/WinCertificateMaker.cs
+6
-5
RunTime.cs
src/Titanium.Web.Proxy/Helpers/RunTime.cs
+1
-1
No files found.
src/Titanium.Web.Proxy/Certificates/BCCertificateMaker.cs
View file @
bbd3f765
...
...
@@ -26,7 +26,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
/// </summary>
internal
class
BCCertificateMaker
:
ICertificateMaker
{
private
const
int
certificateValidDays
=
1825
;
private
readonly
int
certificateValidDays
;
private
const
int
certificateGraceDays
=
366
;
// The FriendlyName value cannot be set on Unix.
...
...
@@ -35,9 +35,10 @@ namespace Titanium.Web.Proxy.Network.Certificate
private
readonly
ExceptionHandler
exceptionFunc
;
internal
BCCertificateMaker
(
ExceptionHandler
exceptionFunc
)
internal
BCCertificateMaker
(
ExceptionHandler
exceptionFunc
,
int
certificateValidDays
)
{
this
.
exceptionFunc
=
exceptionFunc
;
this
.
certificateValidDays
=
certificateValidDays
;
this
.
exceptionFunc
=
exceptionFunc
;
}
/// <summary>
...
...
src/Titanium.Web.Proxy/Certificates/BCCertificateMakerFast.cs
View file @
bbd3f765
...
...
@@ -26,7 +26,7 @@ namespace Titanium.Web.Proxy.Network.Certificate
/// </summary>
internal
class
BCCertificateMakerFast
:
ICertificateMaker
{
private
const
int
certificateValidDays
=
1825
;
private
int
certificateValidDays
;
private
const
int
certificateGraceDays
=
366
;
// The FriendlyName value cannot be set on Unix.
...
...
@@ -37,8 +37,9 @@ namespace Titanium.Web.Proxy.Network.Certificate
public
AsymmetricCipherKeyPair
KeyPair
{
get
;
set
;
}
internal
BCCertificateMakerFast
(
ExceptionHandler
exceptionFunc
)
internal
BCCertificateMakerFast
(
ExceptionHandler
exceptionFunc
,
int
certificateValidDays
)
{
this
.
certificateValidDays
=
certificateValidDays
;
this
.
exceptionFunc
=
exceptionFunc
;
KeyPair
=
GenerateKeyPair
();
}
...
...
src/Titanium.Web.Proxy/Certificates/CertificateManager.cs
View file @
bbd3f765
...
...
@@ -73,14 +73,14 @@ namespace Titanium.Web.Proxy.Network
switch
(
engine
)
{
case
CertificateEngine
.
BouncyCastle
:
certEngineValue
=
new
BCCertificateMaker
(
ExceptionFunc
);
certEngineValue
=
new
BCCertificateMaker
(
ExceptionFunc
,
CertificateValidDays
);
break
;
case
CertificateEngine
.
BouncyCastleFast
:
certEngineValue
=
new
BCCertificateMakerFast
(
ExceptionFunc
);
certEngineValue
=
new
BCCertificateMakerFast
(
ExceptionFunc
,
CertificateValidDays
);
break
;
case
CertificateEngine
.
DefaultWindows
:
default
:
certEngineValue
=
new
WinCertificateMaker
(
ExceptionFunc
);
certEngineValue
=
new
WinCertificateMaker
(
ExceptionFunc
,
CertificateValidDays
);
break
;
}
}
...
...
@@ -204,6 +204,12 @@ namespace Titanium.Web.Proxy.Network
/// </summary>
public
string
PfxFilePath
{
get
;
set
;
}
=
string
.
Empty
;
/// <summary>
/// Number of Days generated HTTPS certificates are valid for.
/// Maximum allowed on iOS 13 is 825 days and it is the default.
/// </summary>
public
int
CertificateValidDays
{
get
;
set
;
}
=
825
;
/// <summary>
/// Name of the root certificate issuer.
/// (This is valid only when RootCertificate property is not set.)
...
...
src/Titanium.Web.Proxy/Certificates/WinCertificateMaker.cs
View file @
bbd3f765
...
...
@@ -13,6 +13,9 @@ namespace Titanium.Web.Proxy.Network.Certificate
/// </summary>
internal
class
WinCertificateMaker
:
ICertificateMaker
{
// Validity Days for Root Certificates Generated.
private
int
certificateValidDays
;
private
readonly
ExceptionHandler
exceptionFunc
;
private
readonly
string
sProviderName
=
"Microsoft Enhanced Cryptographic Provider v1.0"
;
...
...
@@ -49,8 +52,9 @@ namespace Titanium.Web.Proxy.Network.Certificate
/// <summary>
/// Constructor.
/// </summary>
internal
WinCertificateMaker
(
ExceptionHandler
exceptionFunc
)
internal
WinCertificateMaker
(
ExceptionHandler
exceptionFunc
,
int
certificateValidDays
)
{
this
.
certificateValidDays
=
certificateValidDays
;
this
.
exceptionFunc
=
exceptionFunc
;
typeX500DN
=
Type
.
GetTypeFromProgID
(
"X509Enrollment.CX500DistinguishedName"
,
true
);
...
...
@@ -99,16 +103,13 @@ namespace Titanium.Web.Proxy.Network.Certificate
// Grace Days
const
int
graceDays
=
-
366
;
// ValiDays
const
int
validDays
=
1825
;
// KeyLength
const
int
keyLength
=
2048
;
var
now
=
DateTime
.
UtcNow
;
var
graceTime
=
now
.
AddDays
(
graceDays
);
var
certificate
=
makeCertificate
(
sSubjectCN
,
fullSubject
,
keyLength
,
hashAlgo
,
graceTime
,
now
.
AddDays
(
v
alidDays
),
signingCertificate
);
now
.
AddDays
(
certificateV
alidDays
),
signingCertificate
);
return
certificate
;
}
...
...
src/Titanium.Web.Proxy/Helpers/RunTime.cs
View file @
bbd3f765
...
...
@@ -88,7 +88,7 @@ namespace Titanium.Web.Proxy.Helpers
}
// get the currently running framework name and version (EX: .NETFramework,Version=v4.5.1) (Ex: .NETCoreApp,Version=v2.0)
string
ver
=
Assembly
.
GetEntryAssembly
()?.
GetCustomAttribute
<
TargetFrameworkAttribute
>()?.
FrameworkName
;
string
?
ver
=
Assembly
.
GetEntryAssembly
()?.
GetCustomAttribute
<
TargetFrameworkAttribute
>()?.
FrameworkName
;
if
(
ver
==
null
)
return
false
;
// play it safe if we can not figure out what the framework is
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment