5 // Created by Josh Osborne on 4/30/13.
6 // Copyright (c) 2013 Apple Inc. All rights reserved.
11 #include "utilities/SecCFRelease.h"
12 #include "utilities/der_plist.h"
13 #include "utilities/der_plist_internal.h"
15 #include <corecrypto/ccder.h>
16 #include <CoreFoundation/CoreFoundation.h>
19 const uint8_t* der_decode_null(CFAllocatorRef allocator
, CFOptionFlags mutability
,
20 CFNullRef
* nul
, CFErrorRef
*error
,
21 const uint8_t* der
, const uint8_t *der_end
)
26 size_t payload_size
= 0;
27 const uint8_t *payload
= ccder_decode_tl(CCDER_NULL
, &payload_size
, der
, der_end
);
29 if (NULL
== payload
|| payload_size
!= 0) {
30 SecCFDERCreateError(kSecDERErrorUnknownEncoding
, CFSTR("Unknown null encoding"), NULL
, error
);
36 return payload
+ payload_size
;
40 size_t der_sizeof_null(CFNullRef data __unused
, CFErrorRef
*error
)
42 return ccder_sizeof(CCDER_NULL
, 0);
46 uint8_t* der_encode_null(CFNullRef boolean __unused
, CFErrorRef
*error
,
47 const uint8_t *der
, uint8_t *der_end
)
49 return ccder_encode_tl(CCDER_NULL
, 0, der
, der_end
);