namespace axl::cry
namespace cry {
// typedefs
typedef int socket_t;
// enums
enum VerifyAppStoreReceiptFlag;
// structs
struct AesKey;
struct AppStoreIap;
struct AppStoreReceipt;
// classes
class AppStoreReceiptPayloadParser;
class BigNum;
class Bio;
class BnCtx;
class CryptoError;
class CryptoErrorProvider;
class Dh;
class EcKey;
class EcPoint;
class FreeBigNum;
class FreeBio;
class FreeBnCtx;
class FreeDh;
class FreeEcKey;
class FreeEcPoint;
class FreePkcs7;
class FreeRsa;
class FreeX509;
class FreeX509Store;
class Pkcs7;
class Rsa;
class X509Cert;
class X509Error;
class X509ErrorProvider;
class X509Store;
// global functions
bool
verifyAppStoreReceipt(
AppStoreReceipt* receipt,
const void* p,
size_t size,
const void* computerGuid,
size_t computerGuidSize,
uint_t flags = 0
);
bool
verifyAppStoreReceipt(
AppStoreReceipt* receipt,
const void* p,
size_t size,
uint_t flags = 0
);
sl::String
getAsn1TimeString(const ASN1_TIME* time);
sl::String
getAsn1StringString(const ASN1_STRING* string);
sl::String
getAsn1ObjectString(const ASN1_OBJECT* object);
AXL_SL_DEFINE_GUID(
g_cryptoErrorGuid,
0x0216b513,
0xa6bf,
0x4d0e,
0x91,
0x85,
0xdd,
0x12,
0x60,
0xc7,
0x53,
0x56
);
AXL_SL_DEFINE_GUID(
g_x509ErrorGuid,
0xa5c41eb8,
0x75ff,
0x487d,
0xb0,
0x4e,
0xbd,
0x23,
0x36,
0x38,
0x8b,
0x38
);
void
registerCryptoErrorProviders();
size_t
setCryptoError(ulong_t code);
void
clearCryptoError();
size_t
setLastCryptoError();
template <typename T>
T
failWithLastCryptoError(T failResult);
bool
failWithLastCryptoError();
template <typename T>
T
completeWithLastCryptoError(
T result,
T failResult
);
bool
completeWithLastCryptoError(int result);
bool
encodePem(
sl::String* buffer,
const sl::StringRef& name,
const sl::StringRef& header,
const void* p,
size_t size
);
bool
encodePem(
sl::String* buffer,
const sl::StringRef& name,
const void* p,
size_t size
);
sl::String
encodePem(
const sl::StringRef& name,
const sl::StringRef& header,
const void* p,
size_t size
);
sl::String
encodePem(
const sl::StringRef& name,
const void* p,
size_t size
);
bool
decodePem(
sl::String* name,
sl::String* header,
sl::Array<char>* buffer,
const sl::StringRef& pem
);
bool
decodePem(
sl::String* name,
sl::Array<char>* buffer,
const sl::StringRef& pem
);
bool
decodePem(
const sl::StringRef& expectedName,
sl::String* header,
sl::Array<char>* buffer,
const sl::StringRef& pem
);
bool
decodePem(
const sl::StringRef& expectedName,
sl::Array<char>* buffer,
const sl::StringRef& pem
);
} // namespace cry