简体   繁体   English

com.amazonaws.AmazonClientException:无法执行HTTP请求:对等方未通过身份验证

[英]com.amazonaws.AmazonClientException: Unable to execute HTTP request: peer not authenticated

I created a new account on amazon aws to use s3 bucket and I've written this code to upload one image file to s3 bucket but it gives me this exception: >Unable to execute HTTP request: peer not authenticated. 我在amazon aws上创建了一个新帐户以使用s3存储桶,并编写了此代码以将一个图像文件上传到s3存储桶,但这给了我以下异常:>无法执行HTTP请求:对等方未通过身份验证。

This is my main method: 这是我的主要方法:

public class Main2 {

    public static void main(String[] args) throws IOException {
        File file=new File("C:\\Users\\KDSss\\OneDrive\\Pictures\\my photo 001.jpg");
        try {
            InputStream targetStream = new FileInputStream(file);
            S3Upload.uploadImage(targetStream, "Discussion", "jpg");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

And this is my S3Upload.java 这是我的S3Upload.java

public class S3Upload 
{

     public static void uploadImage(InputStream path, String imageName, String imageType) throws IOException
     {
          String existingBucketName = "housejoy/hjcustomerimage/";
          String keyName = imageName+".png";
          AmazonS3 s3Client = new AmazonS3Client(new PropertiesCredentials(UploadFile.class.getResourceAsStream("AwsCredentials.properties")));
          ObjectMetadata objectMetadata = new ObjectMetadata();
          objectMetadata.setContentType(imageType);
          PutObjectRequest putObjectRequest = new PutObjectRequest(existingBucketName, keyName, path, objectMetadata);
          putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead);
          PutObjectResult result = s3Client.putObject(putObjectRequest);
          System.out.println("Etag:" + result.getETag() + "-->" + result);
         }
}

After running, I'm getting this exception: 运行后,我得到了这个异常:

com.amazonaws.AmazonClientException: Unable to execute HTTP request: peer not authenticated
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:328)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2906)
    at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1123)
    at com.housejoy.ce.jaxb.S3Upload.uploadImage(S3Upload.java:32)......
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:421)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:151)........com.amazonaws.AmazonClientException: Unable to execute HTTP request: peer not authenticated
    at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:328)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2906)
    at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1123)
    at com.housejoy.ce.jaxb.S3Upload.uploadImage(S3Upload.java:32)
    at com.housejoy.ce.service.UploadImageService.uploadImage(UploadImageService.java:171.................Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:421)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)

You have to determine 你必须确定

  • SECRET_KEY 密钥
  • ACCESS_KEY ACCESS_KEY
  • END_POINT_URL END_POINT_URL

for authentication purpose. 用于身份验证。 and use: 并使用:

    AmazonS3 s3;
    AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
    s3 = new AmazonS3Client(credentials);
    s3.setEndpoint(END_POINT_URL);

now you can upload image using s3 object. 现在您可以使用s3对象上传图像了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何解决线程“main”中的异常com.amazonaws.AmazonClientException:无法构建密码:使用aws s3非法密钥大小 - how to resolve Exception in thread “main” com.amazonaws.AmazonClientException: Unable to build cipher: Illegal key size using aws s3 在s3上上传文件失败,导致com.amazonaws.AmazonClientException异常 - File upload on s3 fail getting the com.amazonaws.AmazonClientException Exception com.amazonaws.SdkClientException:无法执行 HTTP 请求:getSessionToken 中的 sts.amazonaws.com - com.amazonaws.SdkClientException : Unable to execute HTTP request: sts.amazonaws.com in GetSessionToken com.amazonaws.AmazonClientException:读取的数据长度与预期的长度不同 - com.amazonaws.AmazonClientException: Data read has a different length than the expected SQS Java 客户端异常 - com.amazonaws.SdkClientException:无法执行 HTTP 请求:权限被拒绝:连接 - SQS Java client exception - com.amazonaws.SdkClientException: Unable to execute HTTP request: Permission denied: connect Android Amazon Web Services无法执行HTTP请求:sdb.amazonaws.com - Android Amazon Web Services Unable to execute HTTP request: sdb.amazonaws.com Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException - Pyspark S3 NoClassDefFoundError: com/amazonaws/AmazonClientException AWS S3-com.amazonaws.AmazonServiceException:请求ARN无效 - AWS S3 - com.amazonaws.AmazonServiceException: Request ARN is invalid uploadPart失败,无法执行HTTP请求:连接重置 - uploadPart is failing with Unable to execute HTTP request: Connection reset 无法执行 HTTP 请求 - DynamoDB 本地 Maven 依赖项 - Unable to execute HTTP request - DynamoDB Local Maven Dependency
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM