MCPcopy Create free account
hub / github.com/M66B/FairEmail / getCiphers

Method getCiphers

app/src/main/java/eu/faircode/email/Log.java:1802–1887  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1800 }
1801
1802 static SpannableStringBuilder getCiphers() {
1803 SpannableStringBuilder ssb = new SpannableStringBuilderEx();
1804
1805 for (Provider provider : new Provider[]{
1806 null, // Android
1807 new BouncyCastleJsseProvider(),
1808 new BouncyCastleJsseProvider(true)})
1809 for (String protocol : new String[]{"SSL", "TLS"})
1810 try {
1811 int begin = ssb.length();
1812
1813 SSLContext sslContext = (provider == null
1814 ? SSLContext.getInstance(protocol)
1815 : SSLContext.getInstance(protocol, provider));
1816
1817 ssb.append("SSL protocol: ").append(sslContext.getProtocol()).append("\r\n");
1818 Provider sslProvider = sslContext.getProvider();
1819 ssb.append("SSL provider: ").append(sslProvider.getName());
1820 if (sslProvider instanceof BouncyCastleJsseProvider) {
1821 boolean fips = ((BouncyCastleJsseProvider) sslProvider).isFipsMode();
1822 if (fips)
1823 ssb.append(" FIPS");
1824 }
1825 ssb.append("\r\n");
1826 ssb.append("SSL class: ").append(sslProvider.getClass().getName()).append("\r\n");
1827
1828 ssb.setSpan(new StyleSpan(Typeface.BOLD), begin, ssb.length(), 0);
1829 ssb.append("\r\n");
1830
1831 TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
1832 tmf.init((KeyStore) null);
1833
1834 ssb.append("Trust provider: ").append(tmf.getProvider().getName()).append("\r\n");
1835 ssb.append("Trust class: ").append(tmf.getProvider().getClass().getName()).append("\r\n");
1836 ssb.append("Trust algorithm: ").append(tmf.getAlgorithm()).append("\r\n");
1837
1838 TrustManager[] tms = tmf.getTrustManagers();
1839 if (tms != null)
1840 for (TrustManager tm : tms)
1841 ssb.append("Trust manager: ").append(tm.getClass().getName()).append("\r\n");
1842 ssb.append("\r\n");
1843
1844 sslContext.init(null, tmf.getTrustManagers(), null);
1845 SSLSocket socket = (SSLSocket) sslContext.getSocketFactory().createSocket();
1846
1847 List<String> protocols = new ArrayList<>();
1848 protocols.addAll(Arrays.asList(socket.getEnabledProtocols()));
1849
1850 for (String p : socket.getSupportedProtocols()) {
1851 boolean enabled = protocols.contains(p);
1852 if (!enabled)
1853 ssb.append('(');
1854 int start = ssb.length();
1855 ssb.append(p);
1856 if (!enabled) {
1857 ssb.setSpan(new StrikethroughSpan(), start, ssb.length(), 0);
1858 ssb.append(')');
1859 }

Callers 2

onClickMethod · 0.95
attachNetworkInfoMethod · 0.95

Calls 15

setSpanMethod · 0.95
eMethod · 0.95
getSocketFactoryMethod · 0.80
addAllMethod · 0.80
getNameMethod · 0.65
lengthMethod · 0.45
getInstanceMethod · 0.45
appendMethod · 0.45
getProtocolMethod · 0.45
getProviderMethod · 0.45
initMethod · 0.45
getTrustManagersMethod · 0.45

Tested by

no test coverage detected