Skip to content

Commit 2a27b50

Browse files
authored
Merge pull request #29 from vcsjones/lang-cleanup
Minor language cleanup.
2 parents 18efc4e + 7a3341e commit 2a27b50

File tree

5 files changed

+47
-70
lines changed

5 files changed

+47
-70
lines changed

AuthenticodeLint/CommandLineParser.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
namespace AuthenticodeLint
66
{
77

8-
public struct CommandLineParameter
8+
public readonly struct CommandLineParameter
99
{
10-
private string _name, _value;
10+
private readonly string _name, _value;
1111

1212
public CommandLineParameter(string name, string value)
1313
{

AuthenticodeLint/Rules/10004-PublisherInformationRule.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@ public RuleResult Validate(IReadOnlyList<ICmsSignature> graph, SignatureLogger v
4949
}
5050
else
5151
{
52-
Uri uri;
53-
if (!Uri.TryCreate(info.UrlLink, UriKind.Absolute, out uri))
52+
if (!Uri.TryCreate(info.UrlLink, UriKind.Absolute, out _))
5453
{
5554
result = RuleResult.Fail;
5655
verboseWriter.LogSignatureMessage(signature, "Signature's accompanying URL is not a valid URI.");

AuthenticodeLint/Rules/10011-StrongKeyLengthRule.cs

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,41 +25,28 @@ public RuleResult Validate(IReadOnlyList<ICmsSignature> graph, SignatureLogger v
2525
var keyInfo = BitStrengthCalculator.CalculateStrength(signature.Certificate);
2626
switch (keyInfo.AlgorithmName)
2727
{
28-
case PublicKeyAlgorithm.ECDSA:
29-
if (keyInfo.BitSize == null)
30-
{
31-
verboseWriter.LogSignatureMessage(signature, "Signature uses ECDSA with an unknown curve.");
32-
result = RuleResult.Fail;
33-
}
28+
case PublicKeyAlgorithm.ECDSA when keyInfo.BitSize is null:
29+
verboseWriter.LogSignatureMessage(signature, "Signature uses ECDSA with an unknown curve.");
30+
result = RuleResult.Fail;
3431
//We don't actually check the key size for ECDSA since all known values are acceptable.
3532
break;
36-
case PublicKeyAlgorithm.RSA:
37-
if (keyInfo.BitSize == null)
38-
{
39-
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown RSA key size.");
40-
result = RuleResult.Fail;
41-
}
42-
else if (keyInfo.BitSize < MIN_RSADSA_KEY_SIZE)
43-
{
44-
verboseWriter.LogSignatureMessage(signature, $"Signature uses a RSA key of size {keyInfo.BitSize} which is below the recommended {MIN_RSADSA_KEY_SIZE}.");
45-
result = RuleResult.Fail;
46-
}
33+
case PublicKeyAlgorithm.RSA when keyInfo.BitSize is null:
34+
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown RSA key size.");
35+
result = RuleResult.Fail;
36+
break;
37+
case PublicKeyAlgorithm.RSA when keyInfo.BitSize < MIN_RSADSA_KEY_SIZE:
38+
verboseWriter.LogSignatureMessage(signature, $"Signature uses a RSA key of size {keyInfo.BitSize} which is below the recommended {MIN_RSADSA_KEY_SIZE}.");
39+
result = RuleResult.Fail;
4740
break;
48-
case PublicKeyAlgorithm.DSA:
49-
if (keyInfo.BitSize == null)
50-
{
51-
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown DSA key size.");
52-
result = RuleResult.Fail;
53-
}
54-
else if (keyInfo.BitSize < MIN_RSADSA_KEY_SIZE)
55-
{
56-
//Effectively, 1024 is the max for a DSA key, so this will likely always fail.
57-
verboseWriter.LogSignatureMessage(signature, $"Signature uses a DSA key of size {keyInfo.BitSize} which is below the recommended {MIN_RSADSA_KEY_SIZE}.");
58-
result = RuleResult.Fail;
59-
}
41+
case PublicKeyAlgorithm.DSA when keyInfo.BitSize is null:
42+
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown DSA key size.");
43+
result = RuleResult.Fail;
44+
break;
45+
case PublicKeyAlgorithm.DSA when keyInfo.BitSize < MIN_RSADSA_KEY_SIZE:
46+
//Effectively, 1024 is the max for a DSA key, so this will likely always fail.
47+
verboseWriter.LogSignatureMessage(signature, $"Signature uses a DSA key of size {keyInfo.BitSize} which is below the recommended {MIN_RSADSA_KEY_SIZE}.");
48+
result = RuleResult.Fail;
6049
break;
61-
case PublicKeyAlgorithm.Other:
62-
goto default;
6350
default:
6451
verboseWriter.LogSignatureMessage(signature, $"Signature uses an unknown algorithm.");
6552
result = RuleResult.Fail;

AuthenticodeLint/Rules/10013-MaxKeyLengthRule.cs

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -26,44 +26,30 @@ public RuleResult Validate(IReadOnlyList<ICmsSignature> graph, SignatureLogger v
2626
var keyInfo = BitStrengthCalculator.CalculateStrength(signature.Certificate);
2727
switch (keyInfo.AlgorithmName)
2828
{
29-
case PublicKeyAlgorithm.ECDSA:
30-
if (keyInfo.BitSize == null)
31-
{
32-
verboseWriter.LogSignatureMessage(signature, "Signature uses ECDSA with an unknown curve.");
33-
result = RuleResult.Fail;
34-
}
35-
else if (keyInfo.BitSize > MAX_ECDSA_KEY_SIZE)
36-
{
37-
verboseWriter.LogSignatureMessage(signature, $"Signature uses ECDSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_ECDSA_KEY_SIZE}.");
38-
result = RuleResult.Fail;
39-
}
29+
case PublicKeyAlgorithm.ECDSA when keyInfo.BitSize is null:
30+
verboseWriter.LogSignatureMessage(signature, "Signature uses ECDSA with an unknown curve.");
31+
result = RuleResult.Fail;
4032
break;
41-
case PublicKeyAlgorithm.RSA:
42-
if (keyInfo.BitSize == null)
43-
{
44-
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown RSA key size.");
45-
result = RuleResult.Fail;
46-
}
47-
else if (keyInfo.BitSize > MAX_RSA_KEY_SIZE)
48-
{
49-
verboseWriter.LogSignatureMessage(signature, $"Signature uses RSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_RSA_KEY_SIZE}.");
50-
result = RuleResult.Fail;
51-
}
33+
case PublicKeyAlgorithm.ECDSA when keyInfo.BitSize > MAX_ECDSA_KEY_SIZE:
34+
verboseWriter.LogSignatureMessage(signature, $"Signature uses ECDSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_ECDSA_KEY_SIZE}.");
35+
result = RuleResult.Fail;
5236
break;
53-
case PublicKeyAlgorithm.DSA:
54-
if (keyInfo.BitSize == null)
55-
{
56-
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown DSA key size.");
57-
result = RuleResult.Fail;
58-
}
59-
else if (keyInfo.BitSize > MAX_DSA_KEY_SIZE)
60-
{
61-
verboseWriter.LogSignatureMessage(signature, $"Signature uses DSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_DSA_KEY_SIZE}.");
62-
result = RuleResult.Fail;
63-
}
37+
case PublicKeyAlgorithm.RSA when keyInfo.BitSize is null:
38+
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown RSA key size.");
39+
result = RuleResult.Fail;
40+
break;
41+
case PublicKeyAlgorithm.RSA when keyInfo.BitSize > MAX_RSA_KEY_SIZE:
42+
verboseWriter.LogSignatureMessage(signature, $"Signature uses RSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_RSA_KEY_SIZE}.");
43+
result = RuleResult.Fail;
44+
break;
45+
case PublicKeyAlgorithm.DSA when keyInfo.BitSize is null:
46+
verboseWriter.LogSignatureMessage(signature, "Signature has an unknown DSA key size.");
47+
result = RuleResult.Fail;
48+
break;
49+
case PublicKeyAlgorithm.DSA when keyInfo.BitSize > MAX_DSA_KEY_SIZE:
50+
verboseWriter.LogSignatureMessage(signature, $"Signature uses DSA signature with a key size of {keyInfo.BitSize} exeeding maximum size of {MAX_DSA_KEY_SIZE}.");
51+
result = RuleResult.Fail;
6452
break;
65-
case PublicKeyAlgorithm.Other:
66-
goto default;
6753
default:
6854
verboseWriter.LogSignatureMessage(signature, $"Signature uses an unknown algorithm.");
6955
result = RuleResult.Fail;

Directory.Build.props

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<Project>
2+
<PropertyGroup>
3+
<LangVersion>7.3</LangVersion>
4+
</PropertyGroup>
5+
</Project>

0 commit comments

Comments
 (0)