From 9852198a15a8fea1b02014e63b6f53bab933652c Mon Sep 17 00:00:00 2001 From: David Evans Date: Wed, 14 Oct 2020 08:28:41 +0100 Subject: [PATCH] Add NIOSSLCertificate serial number var, and add to description (#247) * Add serial number * Make a lazy var * PR comments * PR comments --- Sources/NIOSSL/SSLCertificate.swift | 8 +++++++- Tests/NIOSSLTests/SSLCertificateTest.swift | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/NIOSSL/SSLCertificate.swift b/Sources/NIOSSL/SSLCertificate.swift index 7c66a39b..fa4ed23a 100644 --- a/Sources/NIOSSL/SSLCertificate.swift +++ b/Sources/NIOSSL/SSLCertificate.swift @@ -46,6 +46,11 @@ public class NIOSSLCertificate { case ipv4(in_addr) case ipv6(in6_addr) } + + public var serialNumber: [UInt8] { + let serialNumber = CNIOBoringSSL_X509_get_serialNumber(self.ref)! + return Array(UnsafeBufferPointer(start: serialNumber.pointee.data, count: Int(serialNumber.pointee.length))) + } private init(withOwnedReference ref: UnsafeMutablePointer) { self._ref = UnsafeMutableRawPointer(ref) // erasing the type for @_implementationOnly import CNIOBoringSSL @@ -438,7 +443,8 @@ internal class SubjectAltNameSequence: Sequence, IteratorProtocol { extension NIOSSLCertificate: CustomStringConvertible { public var description: String { - var desc = "