summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/core/X509Utils.java
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2013-07-01 00:07:52 +0200
committerArne Schwabe <arne@rfc2549.org>2013-07-01 00:07:52 +0200
commit784177121710cbb75ec730babb3a51e9eaf64d82 (patch)
treef30b2ee278fc6b7b5146914f2d0921f2e337335a /src/de/blinkt/openvpn/core/X509Utils.java
parent7b20c41be2651e2721fd3b151e4e27f0ee92d656 (diff)
Fix GUI certificate display/parsing a bit
Diffstat (limited to 'src/de/blinkt/openvpn/core/X509Utils.java')
-rw-r--r--src/de/blinkt/openvpn/core/X509Utils.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/de/blinkt/openvpn/core/X509Utils.java b/src/de/blinkt/openvpn/core/X509Utils.java
index ff1e932f..b533c886 100644
--- a/src/de/blinkt/openvpn/core/X509Utils.java
+++ b/src/de/blinkt/openvpn/core/X509Utils.java
@@ -18,10 +18,18 @@ public class X509Utils {
InputStream inStream;
- if(certfilename.startsWith(VpnProfile.INLINE_TAG))
- inStream = new ByteArrayInputStream(certfilename.replace(VpnProfile.INLINE_TAG,"").getBytes());
- else
+ if(certfilename.startsWith(VpnProfile.INLINE_TAG)) {
+ // The java certifcate reader is ... kind of stupid
+ // It does NOT ignore chars before the --BEGIN ...
+ int subIndex = certfilename.indexOf("-----BEGIN CERTIFICATE-----");
+ subIndex = Math.max(0,subIndex);
+ inStream = new ByteArrayInputStream(certfilename.substring(subIndex).getBytes());
+
+
+ } else {
inStream = new FileInputStream(certfilename);
+ }
+
return certFact.generateCertificate(inStream);
}
@@ -55,7 +63,7 @@ public class X509Utils {
OpenVPN.logError("Could not read certificate" + e.getLocalizedMessage());
}
}
- return "Could not read/parse certificate";
+ return "Cannot display certificate information";
}
public static String getCertificateFriendlyName(X509Certificate cert) {