com.aliyun.oss.internal.signer.OSSV1Signer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aliyun-sdk-oss-shade Show documentation
Show all versions of aliyun-sdk-oss-shade Show documentation
The Aliyun OSS SDK for Java used for accessing Aliyun Object Storage Service, includes all service and dependent JARs.
The newest version!
package com.aliyun.oss.internal.signer;
import com.aliyun.oss.ClientConfiguration;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.common.auth.Credentials;
import com.aliyun.oss.common.auth.ServiceSignature;
import com.aliyun.oss.common.comm.RequestMessage;
import com.aliyun.oss.common.utils.HttpHeaders;
import com.aliyun.oss.internal.OSSHeaders;
import com.aliyun.oss.internal.SignUtils;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.net.URI;
import static com.aliyun.oss.internal.RequestParameters.*;
public class OSSV1Signer extends OSSSignerBase {
public OSSV1Signer(OSSSignerParams signerParams) {
super(signerParams);
}
@Override
protected void addAuthorizationHeader(RequestMessage request) {
Credentials cred = signerParams.getCredentials();
String accessKeyId = cred.getAccessKeyId();
String secretAccessKey = cred.getSecretAccessKey();
String signature;
signature = SignUtils.buildSignature(secretAccessKey, request.getMethod().toString(), signerParams.getResourcePath(), request);
request.addHeader(OSSHeaders.AUTHORIZATION, SignUtils.composeRequestAuthorization(accessKeyId, signature));
}
@Override
public void presign(RequestMessage request) throws ClientException {
Credentials cred = signerParams.getCredentials();
String accessKeyId = cred.getAccessKeyId();
String secretAccessKey = cred.getSecretAccessKey();
String canonicalResource = signerParams.getResourcePath();
String expires = String.valueOf(signerParams.getExpiration().getTime() / 1000L);
if (cred.useSecurityToken()) {
request.addParameter(SECURITY_TOKEN, cred.getSecurityToken());
}
request.addHeader(HttpHeaders.DATE, expires);
String canonicalString = SignUtils.buildCanonicalString(request.getMethod().toString(), canonicalResource, request, expires);
String signature = ServiceSignature.create().computeSignature(secretAccessKey, canonicalString);
request.addParameter(HttpHeaders.EXPIRES, expires);
request.addParameter(OSS_ACCESS_KEY_ID, accessKeyId);
request.addParameter(SIGNATURE, signature);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy