Browse Source

Update publicKeyDER to support exponent of any byte length

Signed-off-by: WFrost3 <134406901+WFrost3@users.noreply.github.com>
WFrost3 2 years ago
parent
commit
6a52aa2954
1 changed files with 2 additions and 1 deletions
  1. 2 1
      Sources/CryptoSwift/RSA/RSA.swift

+ 2 - 1
Sources/CryptoSwift/RSA/RSA.swift

@@ -283,10 +283,11 @@ extension RSA {
   /// ```
   func publicKeyDER() throws -> Array<UInt8> {
     let mod = self.n.serialize()
+    let exp = self.e.serialize()
     let pubKeyAsnNode: ASN1.Node =
       .sequence(nodes: [
         .integer(data: DER.i2ospData(x: mod.bytes, size: self.keySizeBytes)),
-        .integer(data: DER.i2ospData(x: self.e.serialize().bytes, size: 3))
+        .integer(data: DER.i2ospData(x: exp.bytes, size: exp.bytes.count))
       ])
     return ASN1.Encoder.encode(pubKeyAsnNode)
   }