Hi,
ich versuche gerade eine App zu programmieren und bin dabei das Login/Signin backend zu schreiben. Ich versuche Aktuell folgendes und zwar Daten in meine MySql Datenbank zu schreiben. Rufe ich die Seite dazu einfach im Browser auf via https://localhost/LoginRegister/signup.php funktioniert es wie es soll möchte ich jetzt allerdings diese URL in meinem Java Script aufrufen erhalte ich folgenden Error:
Ich weiß nicht was ich tun soll. Ich habe schon recherchiert allerdings finde ich nur solche Antworten wie: Du brauchst das Zertifikat. Das Ding ist ich weiß nicht wie ich ein solches Zertifikat erstellen kann -> ich bin ja selbst der Host. Und ich wüsste auch nicht wo ich das dann einfügen müsste in meinem Android Projekt.
Vielen Dank schon mal für jede Hilfe
Hier ist auch noch der Java Code:
Und falls es wichtig sein sollte hier auch noch mein AndroidManifest:
ich versuche gerade eine App zu programmieren und bin dabei das Login/Signin backend zu schreiben. Ich versuche Aktuell folgendes und zwar Daten in meine MySql Datenbank zu schreiben. Rufe ich die Seite dazu einfach im Browser auf via https://localhost/LoginRegister/signup.php funktioniert es wie es soll möchte ich jetzt allerdings diese URL in meinem Java Script aufrufen erhalte ich folgenden Error:
Java:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Ich weiß nicht was ich tun soll. Ich habe schon recherchiert allerdings finde ich nur solche Antworten wie: Du brauchst das Zertifikat. Das Ding ist ich weiß nicht wie ich ein solches Zertifikat erstellen kann -> ich bin ja selbst der Host. Und ich wüsste auch nicht wo ich das dann einfügen müsste in meinem Android Projekt.
Vielen Dank schon mal für jede Hilfe
Hier ist auch noch der Java Code:
Code:
package com.example.ychat;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.textfield.TextInputEditText;
import com.vishnusivadas.advanced_httpurlconnection.PutData;
public class SignUp extends AppCompatActivity {
TextInputEditText fullname, username, passsword, email;
Button signUp;
TextView textViewLogin;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_up);
fullname = findViewById(R.id.fullname);
username = findViewById(R.id.username);
passsword = findViewById(R.id.password);
email = findViewById(R.id.email);
signUp = findViewById(R.id.buttonSignUp);
textViewLogin = findViewById(R.id.loginText);
progressBar = findViewById(R.id.progress);
signUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String fullnametext, usernametext, emailtext, passwordtext;
fullnametext = String.valueOf(fullname.getText());
usernametext = String.valueOf(username.getText());
emailtext = String.valueOf(email.getText());
passwordtext = String.valueOf(passsword.getText());
if(!fullnametext.equals("") && !usernametext.equals("") && !emailtext.equals("") && !passwordtext.equals("")) {
progressBar.setVisibility(View.VISIBLE);
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
//Starting Write and Read data with URL
//Creating array for parameters
String[] field = new String[4];
field[0] = "fullname";
field[1] = "username";
field[2] = "password";
field[3] = "email";
//Creating array for data
String[] data = new String[4];
data[0] = fullnametext;
data[1] = usernametext;
data[2] = passwordtext;
data[3] = emailtext;
PutData putData = new PutData("https://192.168.0.77/LoginRegister/signup.php", "POST", field, data);
if (putData.startPut()) {
if (putData.onComplete()) {
String result = putData.getResult();
progressBar.setVisibility(View.GONE);
if(result.equals("Sign Up Success")){
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
Log.i("Result", result);
Intent intent = new Intent(getApplicationContext(), LogIn.class);
startActivity(intent);
finish();
}
else{
Log.i("Result", result);
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
}
}
}
//End Write and Read data with URL
}
});
}
else{
Toast.makeText(getApplicationContext(), "All fields are requiered", Toast.LENGTH_LONG).show();
}
}
});
}
}
Und falls es wichtig sein sollte hier auch noch mein AndroidManifest:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:usesCleartextTraffic="true"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:enableOnBackInvokedCallback="true"
android:supportsRtl="true"
android:theme="@style/Theme.YChat"
tools:targetApi="31">
<activity
android:name=".LogIn"
android:exported="false">
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
<activity
android:name=".SignUp"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
<activity
android:name=".MainActivity"
android:exported="false">
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
</application>
</manifest>