2012-10-08 21 views
10

Tôi nhận được stacktrace này khi cố gắng triển khai đến kho sonatype (đôi khi!):"đã nhận cảnh báo gây tử vong: bad_record_mac" khi triển khai để sonatype

javax.net.ssl.SSLException: Received fatal alert: bad_record_mac 
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) 
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) 
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1977) 
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1093) 
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) 
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702) 
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) 
at org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:131) 
at org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:151) 
at org.apache.maven.wagon.providers.http.httpclient.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:114) 
at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon$RequestEntityImplementation.writeTo(AbstractHttpClientWagon.java:188) 
at org.apache.maven.wagon.providers.http.httpclient.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:96) 
at org.apache.maven.wagon.providers.http.httpclient.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108) 
at org.apache.maven.wagon.providers.http.httpclient.impl.entity.EntitySerializer.serialize(EntitySerializer.java:120) 
at org.apache.maven.wagon.providers.http.httpclient.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:263) 
at org.apache.maven.wagon.providers.http.httpclient.impl.conn.AbstractClientConnAdapter.sendRequestEntity(AbstractClientConnAdapter.java:227) 
at org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:255) 
at org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123) 
at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645) 
at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464) 
at org.apache.maven.wagon.providers.http.httpclient.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) 
at org.apache.maven.wagon.providers.http.httpclient.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) 
at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.execute(AbstractHttpClientWagon.java:674) 
at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:515) 

Như đã đề cập here, tôi thiết lập này:

MAVEN_OPTS="-Dhttps.protocols=SSLv3 -Dforce.http.jre.executor=true" 

Và nó vẫn không giúp ích gì. Tôi đang sử dụng:

$ java -version 
java version "1.7.0_07" 
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-0ubuntu0.12.04.1) 
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) 

Bất kỳ ý tưởng nào?

ps. Tôi đã hỏi cùng một câu hỏi tại jdk7-dev mailing list nhưng chưa nhận được bất kỳ câu trả lời hữu ích nào.

+0

Điều tương tự xảy ra (đôi khi!) Trên mặt trời jdk-64b 7u7 và 7u9 – igr

+0

Tương tự ở đây (JDK 7u9, Maven 3.0.4) trong một số phần của quá trình tải lên. – Puce

+0

Tôi nghĩ nguyên nhân có thể là do lỗi Java sau đây: https://bugs.openjdk.java.net/browse/JDK-4615819 (thập kỷ cũ nhưng chưa bao giờ được sửa ở phía máy khách) – eckes

Trả lời

1

Hãy thử một lần nữa, kể từ ngày 19 tháng một năm 2013 cấu hình Sonatype OSS đã được tinh chỉnh, trong đó có khả năng giải quyết vấn đề này.

tham khảo: https://issues.sonatype.org/browse/OSSRH-5165

+0

Vâng, bây giờ nó hoạt động tốt, không có vấn đề này. – yegor256

3

Tôi có dự án đa mô-đun maven (jodd.org) và vì lỗi này, tôi không thể tải tất cả các hiện vật lên Sonatype trong 5 giờ qua. Tôi đang sử dụng JDK-64b 7u7 và 7u9 trên Windows 7.

Here ai đó nói rằng đây là sự cố trong JDK 7u7; tuy nhiên, nâng cấp lên 7u9 không giúp tôi.

Cuối cùng tôi đã có thể tải lên tất cả các hiện vật sử dụng thành công JDK 6.

Tuy nhiên, kể từ khi lỗi này xuất hiện một cách ngẫu nhiên, tôi không thể chắc chắn 100% rằng đây chỉ là một trùng hợp ngẫu nhiên hoặc nó nó thực sự hoạt động tốt hơn trên JDK6.

+0

Cũng may mắn hơn với Java 6 hơn 7. (Sử dụng Ubuntu 12.04 32-bit.) –

7

Nếu SSLv3 là sự cố, giải pháp là hạ cấp xuống Maven 3.0.3 và sử dụng các tùy chọn Maven được đề xuất.

MAVEN_OPTS="-Dhttps.protocols=SSLv3 -Dforce.http.jre.executor=true" 

Khắc phục SSLv3 mà bạn đã thử sẽ không hoạt động trong Maven 3.0.4. Tôi đã gửi một báo cáo lỗi mô tả lý do tại sao tại đây: Maven JIRA ticket MNG-5363

Sau khi tìm kiếm, tôi không thể hiểu được những gì -Dforce.http.jre.executor = true đang cố sửa, vì vậy tôi không nghĩ bạn cần nó, nhưng người đó người đề nghị nó có lẽ đã làm nó vì một lý do chính đáng.

Bộ phận của chúng tôi vừa mới chẩn đoán những vấn đề này cách đây vài tuần. Nếu bạn gặp phải lỗi vì SSLv3, tôi mong đợi nó sẽ nhất quán hơn như tôi đã nhận thấy với các máy chủ của chúng tôi. Có thể đôi khi một sự lựa chọn SSL khác được thực hiện trong trường hợp của bạn, nhưng điều đó cũng có vẻ lạ.

Cuối cùng, có nhiều lỗi trong 3.0.3 và tôi chỉ nhấn một trong số chúng đã được sửa trong 3.0.4, vì vậy hãy cẩn thận.

+0

cho tôi tùy chọn cuối cùng chỉ cùng với tùy chọn đầu tiên là hữu ích cho môi trường JDK 1.5. – vanarchi

0

Tôi đã gặp lỗi SSL này với Maven 3.0.5 nhưng khi tôi nâng cấp lên 3.1.0 nó dường như được cố định.