SCEP Failure on iOS 11 GM

We do OTA MDM management, and during the SCEP portion, we started getting failures on iOS 11. After investigation, it appears that iOS 11 is *not* encoding the "+" or "/" characters that show up in the "message" field of a PKIOperation request. This seems to be incorrect - since, the last paragraph of section 4.1 of the SCEP specification (https://www.ietf.org/id/draft-gutmann-scep-06.txt) states:

When using GET messages to communicate binary data, base64 encoding as specified in [2] MUST be used. The base64 encoded data is distinct from "base64url" and may contain URI reserved characters, thus it MUST be escaped as specified in [8] in addition to being base64 encoded. Finally, the encoded data is inserted into the MESSAGE portion of the HTTP GET request.

The reference "[8]" is to RFC 2396 (https://tools.ietf.org/html/rfc2396) - and in section 3.4, that reads:

Within a query component, the characters ";", "/", "?", ":", "@", "&", "=", "+", ",", and "$" are reserved.

It seems to me that this is a bug in iOS - but I'm wondering if anyone else has encountered this issue.

Replies

I can repeat the issue even with iOS 11.1 (and can also confirm that it has been fine in 10.3.1).


Have you already created a bug report?

Yes - I logged it as rdar://34473888 - and it has been marked as a duplicate of rdar://32757360


I'd suggest anyone having this issue also log with bugreport.apple.com to get some visibility on it.

Note - this is still happening with 11.2 beta 5

I've also encoutered this issue, and my report was also marked as a duplicate of 32757360. I've reached out to our account manager to see if there's any workaround that can be implemented on our end, or if there's an ETA for a fix.

I don't have visibility into issue 32757360, but I logged mine at openradar so that others can dupe it if they would like.