Skip to content

RS256 failed when private key has passphrase #224

@oyljerry

Description

@oyljerry

New Issue Checklist

Issue Info

Info Value
Platform Name osx
Platform Version 10.14.6
CocoaLumberjack Version e.g. 2.3.0
Integration Method carthage
Xcode Version Xcode 11.3
Repro rate all the time (100%)
Demo project link

Issue Description and Steps

I am use RS256 to encode token, when the private key generated without password, it works fine, however, when I set password, the code is not worked. It always failed with error: error Domain=NSOSStatusErrorDomain Code=-50 "RSA private key creation from data failed" (paramErr: error in user parameter list) UserInfo={NSDescription=RSA private key creation from data failed}

id <JWTAlgorithmDataHolderProtocol> signDataHolder = [JWTAlgorithmRSFamilyDataHolder new]
        .keyExtractorType([JWTCryptoKeyExtractor privateKeyWithPEMBase64].type)
        .privateKeyCertificatePassphrase(passPhrase)
        .algorithmName(algName).secret(privateKey);

    JWTCodingResultType *result = [JWTEncodingBuilder encodePayload:payload]
        .addHolder(signDataHolder)
        .result;

The privateKey is as below. and passPhrase is "123456"

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,98F34D835B49818EA9C013E1F8A5D87D

MBsKuDXTLnW7mE3/vH9LQIx1vm3+/eGvs6Uzqv4MRRH4RHVJA8Y/AnW6x2UH7ye0
GToIjlBl+RoGfdU5uWKTpqYmTgqB3aG6P7gJebC+minxohQLByUQ+IDylP/+t96H
t0BXN0/Ic/IEjummGPW/bkO39b1mxm7LoW409UjvrPg6NtsvLtQvn9xraRUvcO06
j4WL9YWy1lGCPmXkFp6/7xHJivVBQgdDlmcFiJkIawLzi1xtbe0omadbb+JPAiis
9JSIx1PTpMKfIJPna5CoFueU+j7tq3dCLvQfNSc1EIcBq04ybcc3TwMwxIi6J0YU
DPa23VSCz3aUbxrE5/RYouyy6bIcPVXDAV0ZVxgUmCEST+w+YcXShfp6ngxIca8i
yyvV3nFYo18/6R+uU5mKsJFphsrUIJv3F/I2Q0Rh5ZlF4hvsQGphTx9FpOeq9W/d
2ibeYGsf03JSi06fARd2bUZewWtKN8LpNdMkN4/A2MzFE2gqIyyIhVCsZ1FlhWft
BnDEImcPyfpPHVfDCfGEVGnplEFcxjT7Z45sEVoJKzownyI5MHdwdwxO4gQMMWSD
k/z207+44JE4EZ6Ib7bQH13OywPGtVXiVCtY//vZZfNLVZT8eNRfh9W4h0g0fBRH
4MmSOXwzp6V+lzKEo+IzYRcHmYRATLN9GPlB6AYz3Av+2+xrauj4csZdHQJLzefP
5KG70Bjr1S3it+vwPsuKtG/zKQrjL8T0gq+DU9AZmDGUOGoT0wXv3l2siYLOJDM1
Mw3s7zZ+RIVxvIx7q8SnphLVegfJHf8RcOXw1bV1/kPmLaqF+Nv5Br9yXc9HGFEA
IcqbCe8HkQox6p5o+4vmHbqnSV7yQqjrVfdNKI0JAVmacahxENYAb8fTRytQvTeB
GpKwUaAWniD8VXWN1oNFB4MHjvFV6S3hkw2fOWkKIm/+8ySdRoCwaFSZ8k3fsSg2
schpHNqmEnWGzLxhaPXGe2IFqY6WQP4RLdT2mulqFiW/9ZLF9PoyaomiP5NFHWN0
Zb8XIVpFI7cUmxctv7R+ahvt10krgS9wKT4H4TWlILxXU5XtCCiMtEzneTaNEhQp
on0UhJng4+YY4SJfTo70DIgFmYcowsaDxJJfCRzyNTV82SI4n0J99VU5XPdX3xuL
yJdIc7nJW+QhW9MslniqpZh4Q09Mt58K2LaIDPL+HNvQmcMuMmMDoAOLZpw+ZzAU
Lq0JgKP/ziNpUFR/cJqu294jpKs3E50FM54Ig/p4CfhnG62Z45damVwjsm1BCpbE
Tu2aYkX6Po9f/jeDQe4u3OFBwl4xH5h4qz0d1i2IQs12X8jgDKzeuoC/BQeSiIu1
cyhFTY2mnzaRvAZgj1qjgpDxCSsOgvbRrwxnQa7OvEVBXJMQO/H329NENuJbfTHz
+OyRUuH0Zjc3elr1BEtcAP/kRUH29AtflBOhQ5vLHoGG+2QGvBOxL0AWV1TkugWQ
TNt/PmKTxD4PJm95vXffopVgStnKm/8tnYV8P8FQeUoLogy+rY5zE7gaBN347Wmm
8CjW5+O1K27/LM6JarC/G+a0Zjlt2v2pWgGbxhScVicVc6S8dVLtHdhJlhhqu54+
-----END RSA PRIVATE KEY-----

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions