На сервере prosody с настроенным i2pd, 3072 бит ssl.(также проверял и с 2048 бит и 4096)
На пк клиент pidgin работает
На телефоне в клиентах monocles chat и conversations i2p пишет домен не верифицируется и домен не мподдается проверке соответственно
Sat, 06 May 2023, 09:01pm | #1 |
---|---|
|
|
Offline | Link |
Wed, 10 May 2023, 03:43pm | #2 |
---|---|
|
Your question translated:
Most likely you have to register through Tor or clearnet with the xmpp server. If you tried xmpp.ilita.i2p you have to import their certificate. Try with danwin1210.de (see website). The i2p eepsite is daniel.i2p |
Offline | Link |
Fri, 12 May 2023, 03:41pm | #3 |
---|---|
|
but i want have my own xmmp server in i2p |
Offline | Link |
Sat, 13 May 2023, 09:34pm | #4 |
---|---|
|
Those who don't know, teach. I have never setup of xmpp server and on top i2p setup has challenges (3-4 simultaneous users per router by my estimate). If I would start today and daniel.i2p software did not work (he has instructions for Tor) I would try openfire:
|
Offline | Link |
Sun, 14 May 2023, 12:21pm | #5 |
---|---|
|
It can be a bit tricky to get started. Have you made an admin user? Eg.
Are you sure the i2p tunnels are made correctly? You may need two 'server' tunnels, one for client-to-server (C2S) and another for possible server-to-server (S2S) interactions? I have notes for i2pd that say:
I remember that the ArchWiki for Prosody can be helpful resource. You ****may**** need a package, 'lua-bit32', as stated by the PurpleI2P team "bit32 library for lua is required for 'mod_darknet' module". But maybe, not. If you use a self-signed certificate then you will, at least once, need to verify it in the Conversations/Pidgin client apps. It will ask to verify the certificate against a SHA256 thumbprint (most likely?). To see your certificate in that format, this might help.
I understand Prosody to be a very fine choice, and there should be no need to switch to another fine choice like Openfire. Likewise, Pidgin is known to be a decent client. Anyway, tell us how you go. Last edited: Sun, 14 May 2023, 12:52pm от In-seriousness |
Offline | Link |
Mon, 19 Jun 2023, 02:18pm | #6 |
---|---|
|
Self signed certificates are always a problem in Android. You can try this:
I faced this issue yesterday, while migrating our company's RESTful API to HTTPS, but using self-signed SSL certificates. I've looking everywhere, but all the "correct" marked answers I've found consisted of disabling certificate validation, clearly overriding all the sense of SSL. I finally came to a solution: Create Local KeyStore To enable your app to validate your self-signed certificates, you need to provide a custom keystore with the certificates in a manner that Android can trust your endpoint. The format for such custom keystores is "BKS" from BouncyCastle, so you need the 1.46 version of BouncyCastleProvider that you can download here. You also need your self-signed certificate, I will assume it's named self_cert.pem. Now the command for creating your keystore is: <!-- language: lang-sh --> $ keytool -import -v -trustcacerts -alias 0 \
PATH_TO_KEYSTORE points to a file where your keystore will be created. It MUST NOT EXIST. PATH_TO_bcprov-jdk15on-146.jar.JAR is the path to the downloaded .jar libary. STOREPASS is your newly created keystore password. Include KeyStore in your Application Copy your newly created keystore from PATH_TO_KEYSTORE to res/raw/certs.bks (certs.bks is just the file name; you can use whatever name you wish) Create a key in res/values/strings.xml with <!-- language: lang-xml --> <resources>
Create a this class that inherits DefaultHttpClient import android.content.Context;
import java.io.IOException;
public class MyHttpClient extends DefaultHttpClient { private static Context appContext = null;
public MyHttpClient(Context myContext) { appContext = myContext; if (httpScheme == null || httpsScheme == null) {
getConnectionManager().getSchemeRegistry().register(httpScheme);
} private SSLSocketFactory mySSLSocketFactory() {
final InputStream inputStream = appContext.getResources().openRawResource(R.raw.certs); ks.load(inputStream, appContext.getString(R.string.store_pass).toCharArray());
ret = new SSLSocketFactory(ks);
Now simply use an instance of **MyHttpClient** as you would with **DefaultHttpClient** to make your HTTPS queries, and it will use and validate correctly your self-signed SSL certificates. HttpResponse httpResponse; HttpPost httpQuery = new HttpPost("https://yourserver.com");
MyHttpClient myClient = new MyHttpClient(myContext); try{ httpResponse = myClient.(peticionHttp); // Check for 200 OK code
}catch (Exception ex){
|
Offline | Link |