mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-22 04:55:29 +03:00
Implement closing for file input/output streams
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
ae6b7156c0
commit
54b1427471
1 changed files with 11 additions and 5 deletions
|
@ -24,11 +24,12 @@ package com.nextcloud.talk.utils.ssl;
|
|||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.events.CertificateEvent;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import javax.net.ssl.*;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
@ -37,6 +38,13 @@ import java.security.KeyStoreException;
|
|||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.X509Certificate;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.SSLPeerUnverifiedException;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import javax.net.ssl.TrustManager;
|
||||
import javax.net.ssl.TrustManagerFactory;
|
||||
import javax.net.ssl.X509TrustManager;
|
||||
|
||||
|
||||
public class MagicTrustManager implements X509TrustManager {
|
||||
private static final String TAG = "MagicTrustManager";
|
||||
|
@ -49,9 +57,8 @@ public class MagicTrustManager implements X509TrustManager {
|
|||
keystoreFile = new File(NextcloudTalkApplication.Companion.getSharedApplication().getDir("CertsKeystore",
|
||||
Context.MODE_PRIVATE), "keystore.bks");
|
||||
|
||||
try {
|
||||
try (FileInputStream fileInputStream = new FileInputStream(keystoreFile)) {
|
||||
trustedKeyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
FileInputStream fileInputStream = new FileInputStream(keystoreFile);
|
||||
trustedKeyStore.load(fileInputStream, null);
|
||||
} catch (Exception exception) {
|
||||
try {
|
||||
|
@ -126,9 +133,8 @@ public class MagicTrustManager implements X509TrustManager {
|
|||
|
||||
public void addCertInTrustStore(X509Certificate x509Certificate) {
|
||||
if (trustedKeyStore != null) {
|
||||
try {
|
||||
try (FileOutputStream fileOutputStream = new FileOutputStream(keystoreFile)) {
|
||||
trustedKeyStore.setCertificateEntry(x509Certificate.getSubjectDN().getName(), x509Certificate);
|
||||
FileOutputStream fileOutputStream = new FileOutputStream(keystoreFile);
|
||||
trustedKeyStore.store(fileOutputStream, null);
|
||||
} catch (Exception exception) {
|
||||
Log.d(TAG, "Failed to set certificate entry " + exception.getLocalizedMessage());
|
||||
|
|
Loading…
Reference in a new issue