2014-10-04 16 views
18

Có an toàn để bỏ qua cảnh báo này không? Nó xuất hiện khi tôi tạo một dự án mới trong Android Studio:Android Studio: Chứng chỉ của máy chủ không được tin cậy

Server's certificate is not trusted 

Certificate details 

Issued To 

CN (Common Name)  *.google.com 
O (Organization)  Google Inc 
L (Locality)   Mountain View 
C (Country)   US 
ST (State or Province) California 

Issued By 

CN (Common Name)  Google Internet Authority G2 
O (Organization)  Google Inc 
C (Country)   US 

Validity Period 

Valid from:   9/24/14 
Valid until:   12/23/14 

... 

Ngày này ổn và tôi đã kiểm tra cài đặt ngày của máy tính để đảm bảo. Tại sao nó lại là "không đáng tin cậy"?

Trả lời

21

Android Studio có một cấu hình cho Server Certificates (Điều này làm cho các nền tảng khác như IntelliJ PyCharm cũng)

Đến File-> Cài đặt. Trong phần IDE Cài đặt chọn Server Certificates

Bản thân tôi chỉ chọn Chấp nhận Tự động hộp kiểm tra, nhấn Apply và chưa bao giờ phải đối phó với nó. Nếu bạn đang lo lắng về an ninh, đó cũng là tùy chọn để thêm chúng 1 tại một thời điểm khi họ đi lên.

Trong trường hợp của tôi, tôi đã làm điều này vì tôi đã có chứng chỉ * .google.com được định cấu hình là được chấp nhận nhưng tôi vẫn có cửa sổ bật lên. Tôi nghi ngờ rằng dấu vân tay thay đổi và nếu tôi đã xóa và sau đó chấp nhận lỗi sẽ biến mất, nhưng tôi quyết định chỉ làm cho nó biến mất bằng cách chọn hộp kiểm.

+3

Trong IntelliJ IDEA 15, hộp kiểm là ở đây: ** file> Settings ...> Tools> server Certificates> Chấp nhận chứng chỉ không đáng tin cậy tự động ** –

+2

Bạn đang xuống bỏ phiếu câu trả lời của tôi, vì Tôi đã chọn để làm điều đó? Tôi không bao giờ nói bạn nên làm điều đó. Và nếu NSA muốn đẩy SDK mới vào môi trường dev của tôi, thì thế giới không còn đáng sợ nữa. –

+0

Có. Nó ít tối ưu hơn việc thêm các chứng chỉ mà bạn cần. Khi một ai đó đến trang web và tìm kiếm giải pháp nhanh, lựa chọn đầu tiên của họ là thêm chứng chỉ thay vì tin tưởng một cách mù quáng vào tất cả các số – chrisortman

10

Không an toàn để bỏ qua cảnh báo đó. Ai đó có thể đang cố gắng tấn công người trung gian bằng chứng chỉ giả để cài đặt phần mềm độc hại trên máy tính của bạn thông qua quá trình cập nhật. Điều này có lẽ không xảy ra nhưng nó luôn luôn tốt hơn để làm những việc một cách chính xác khi nói đến an ninh.

Thay vào đó, bạn nên thêm chứng chỉ gốc mà bạn tin tưởng vào kho khóa Android Studio. Vị trí và mật khẩu mặc định của kho khóa sẽ được liệt kê ở cuối cảnh báo đó. Ví dụ: mỏ của tôi là ~/Library/Caches/AndroidStudio/tasks/cacerts. Tiếp theo, bạn sẽ muốn tìm chứng chỉ gốc trong chuỗi mà máy chủ đang trình bày. Thật không may là cảnh báo không liệt kê toàn bộ chuỗi nên phải mất một chút công sức để tìm ra nó. Chứng chỉ Google Internet Authority G2 giống với chứng chỉ được sử dụng để ký giấy chứng nhận cho các trang web của google. Bạn có thể xem chuỗi trong Chrome bằng cách truy cập google.com, nhấp vào khóa màu xanh lục, sau đó nhấp vào "Thông tin chứng chỉ" trong tab kết nối. Tại thời điểm này, bạn có thể xác minh rằng các hash trong cảnh báo khớp với các hash cho chứng chỉ G2 thực sự. Bạn cũng sẽ thấy rằng chứng chỉ gốc có tên là Equifax Secure Certificate Authority. Bạn có thể tải xuống từ https://www.geotrust.com/resources/root-certificates/. Tiếp theo, bạn sẽ cần thêm nó vào kho khóa:

keytool -import -alias equifaxca \ 
-file Equifax_Secure_Certificate_Authority.pem -keystore cacerts 

Cuối cùng, khởi động lại Android Studio. Cảnh báo đó sẽ không xuất hiện trở lại cho đến ngày 22 tháng 8 năm 2018 trừ khi ai đó thực sự đang trình bày chứng chỉ giả mạo.

3

Đối với hệ điều hành Mac, nó nằm trong menu Android Studio-> Preferences-> Tools-> Server Certificates.

Ở đầu cửa sổ bên phải, chọn hộp kiểm Chấp nhận chứng chỉ không đáng tin cậy tự động. Lượt áp dụng và ok.

0

Kể từ AndroidStudio 1.5.1 Bạn có thể chuyển đến Tùy chọn -> Công cụ -> Chứng chỉ máy chủ và nhấp vào nút + để thêm các chứng chỉ đáng tin cậy theo cách thủ công.

0

Thiếu chứng chỉ hệ thống dành riêng cho Java. Nếu bạn đang sử dụng Ubuntu và Oracle JRE/JDK, hãy cài đặt gói ca-certificate-java.

1

Tôi đã gặp sự cố này sau khi thêm kho lưu trữ maven có chứng chỉ SSL được ký bởi Tổ chức phát hành chứng chỉ không chuẩn (CA).

Khi chạy gradle xây dựng cho dự án của tôi từ dòng lệnh của tôi, mọi thứ hoạt động tốt (tôi đã thêm CA tùy chỉnh vào cac cài đặt Java máy của mình). Tôi có vấn đề chạy việc xây dựng từ Android studio tuy nhiên, và đã nhận được lỗi như thế này:

> Could not resolve joda-time:joda-time:2.9.9. 
    > Could not get resource 'https://custom-maven-repo.com/repository/releases/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom'. 
    > Could not GET 'https://custom-maven-repo.com/repository/releases/joda-time/joda-time/2.9.9/joda-time-2.9.9.pom''. 
     > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
     > PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
      > unable to find valid certification path to requested target 

Tôi tải về các tập tin pem cho CA tùy chỉnh, được gọi là my-ca.pem. Tôi đã thử thêm tính năng này vào Android Studio ở Tùy chọn ->Công cụ ->Chứng chỉ máy chủ, nhưng điều đó không khắc phục được.

tôi nhận thấy rằng Android Studio sử dụng một JDK nhúng (file ->Cấu trúc dự án ->SDK Location ->JDK Location) tại /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home. Để nhận được chứng chỉ được chấp nhận, tôi chạy (trên Mac OS X) các lệnh này để thêm chứng chỉ, sau đó giết quá trình java của Android Studio:

/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/bin/keytool -import -alias my-ca -keystore /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -file path/to/my-ca.pem -noprompt 
kill -9 $(ps -A | grep java | grep "Android Studio" | grep -v grep | awk '{print $1}') 

Chạy chế độ gradle được xây dựng từ Android Studio sau đó hoạt động.

Một giải pháp thay thế là để thiết lập Android Studio để sử dụng một JDK tùy chỉnh sử dụng trên máy tính của bạn trong đó có các chứng chỉ CA được cài đặt, sử dụng menu trong file ->Cấu trúc dự án ->SDK Location - >JDK Location

Các vấn đề liên quan