in aws-crt-auth/Signing.cs [372:393]
public static CrtResult<CrtSigningResult> SignCanonicalRequest(String canonicalRequest, AwsSigningConfig signingConfig)
{
if (canonicalRequest == null || signingConfig == null) {
throw new CrtException("Null argument passed to SignCanonicalRequest");
}
if (signingConfig.SignatureType != AwsSignatureType.CANONICAL_REQUEST_VIA_HEADERS &&
signingConfig.SignatureType != AwsSignatureType.CANONICAL_REQUEST_VIA_QUERY_PARAMS) {
throw new CrtException("Illegal signing type for canonical request signing");
}
var nativeConfig = new AwsSigningConfigNative(signingConfig);
CanonicalRequestSigningCallbackData callback = new CanonicalRequestSigningCallbackData();
callback.OriginalCanonicalRequest = canonicalRequest;
ulong id = PendingCanonicalRequestSignings.AcquireStrongReference(callback);
API.SignCanonicalRequestNative(canonicalRequest, nativeConfig, id, API.OnCanonicalRequestSigningComplete);
return callback.Result;
}