Skip to content

Commit b73072b

Browse files
committed
Use OID constants
1 parent 21dd08b commit b73072b

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

MatterDotNet/PKI/Fabric.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ public OperationalCertificate Sign(CertificateRequest nocsr)
8585
signingCSR.CertificateExtensions.Add(new X509BasicConstraintsExtension(false, false, 0, true));
8686
signingCSR.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature, true));
8787
OidCollection collection = new OidCollection();
88-
collection.Add(new Oid("1.3.6.1.5.5.7.3.1"));
89-
collection.Add(new Oid("1.3.6.1.5.5.7.3.2"));
88+
collection.Add(new Oid(OID_ServerAuth));
89+
collection.Add(new Oid(OID_ClientAuth));
9090
signingCSR.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(collection, true));
9191
signingCSR.CertificateExtensions.Add(new X509SubjectKeyIdentifierExtension(nocsr.PublicKey, false));
9292
signingCSR.CertificateExtensions.Add(X509AuthorityKeyIdentifierExtension.CreateFromCertificate(cert, true, false));
@@ -108,8 +108,8 @@ public OperationalCertificate CreateCommissioner(byte[] publicKey, byte[] privat
108108
signingCSR.CertificateExtensions.Add(new X509BasicConstraintsExtension(false, false, 0, true));
109109
signingCSR.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature, true));
110110
OidCollection collection = new OidCollection();
111-
collection.Add(new Oid("1.3.6.1.5.5.7.3.1"));
112-
collection.Add(new Oid("1.3.6.1.5.5.7.3.2"));
111+
collection.Add(new Oid(OID_ServerAuth));
112+
collection.Add(new Oid(OID_ClientAuth));
113113
signingCSR.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(collection, true));
114114
signingCSR.CertificateExtensions.Add(new X509SubjectKeyIdentifierExtension(key.ExportSubjectPublicKeyInfo(), false));
115115
signingCSR.CertificateExtensions.Add(X509AuthorityKeyIdentifierExtension.CreateFromCertificate(cert, true, false));

MatterDotNet/PKI/OperationalCertificate.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ public class OperationalCertificate
3434
protected const string OID_NOCCat = "1.3.6.1.4.1.37244.1.6";
3535
protected const string OID_VendorID = "1.3.6.1.4.1.37244.2.1";
3636
protected const string OID_ProductID = "1.3.6.1.4.1.37244.2.2";
37+
protected const string OID_ServerAuth = "1.3.6.1.5.5.7.3.1";
38+
protected const string OID_ClientAuth = "1.3.6.1.5.5.7.3.2";
3739

3840
protected OperationalCertificate() { }
3941

@@ -152,8 +154,10 @@ private byte[] GetSignature(AsnEncodingRules encodingRules = AsnEncodingRules.DE
152154
BigInteger part2 = AsnDecoder.ReadInteger(signatureSequence.AsSpan(sigOffset + intLen), encodingRules, out _);
153155

154156
byte[] signature = new byte[64];
155-
Array.Copy(part1.ToByteArray(true, true), 0, signature, 0, 32);
156-
Array.Copy(part2.ToByteArray(true, true), 0, signature, 32, 32);
157+
byte[] part1bytes = part1.ToByteArray(true, true);
158+
Array.Copy(part1bytes, 0, signature, 32 - part1bytes.Length, part1bytes.Length);
159+
byte[] part2bytes = part2.ToByteArray(true, true);
160+
Array.Copy(part2bytes, 0, signature, 64 - part2bytes.Length, part2bytes.Length);
157161
return signature;
158162
}
159163

Test/ECTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public void TestSigning()
4444
byte[] msg = RandomNumberGenerator.GetBytes(32);
4545
var keypair = Crypto.GenerateKeypair();
4646
byte[] signature = Crypto.Sign(keypair.Private, msg);
47+
Assert.That(signature.Length, Is.EqualTo(Crypto.GROUP_SIZE_BYTES * 2));
4748
Assert.That(Crypto.Verify(keypair.Public, msg, signature), Is.True);
4849
}
4950

Test/MatterCertTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public void NOCEncoding()
7171
PayloadWriter output = new PayloadWriter(400);
7272
tlv.Serialize(new TLVWriter(output));
7373
Assert.That(nocTLV, Is.EqualTo(output.GetPayload().Span.ToArray()).AsCollection);
74+
Assert.That(cert.PublicKey, Is.EqualTo(tlv.EcPubKey));
7475
}
7576

7677
[Test]

0 commit comments

Comments
 (0)