Skip to content

Tool to help generate Android Passpoint (802.11u) profiles

License

Notifications You must be signed in to change notification settings

galgus/android_passpoint

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Passpoint 802.11u Generator

This project was designed to help with building 802.11u Passpoint profiles for Android.

Introduction

Building Passpoint profiles for Android can be difficult as it not as simple as creating an XML file and uploading a certificate to your device.
A lot of other opperating systems have tools that make it easy to generate Hot Spot 2.0/Passpoint configurations. So, I wanted to create a tool that can do that for Android. I wanted it to be easy to use, but keep the code simple so that it can be used by inexperience developer.
I followed Google's documentation on how to build a Passpoint (Hotspot 2.0) profile, and used some details from this parser. The document describes building the configurations for the network in XML and converting it to Base64. It also talks about getting the certificate for the network authenication and having it be in Base64 for also (.cer file). Once both pieces of data are in Base64 they will need to be put into a multipart/mixed MIME type. The multipart/mixed than must be converted to Base64 also. To deliver the Passpoint profile to Android it must be sent from a website using application/x-wifi-config content type.

Usage

CLI Tool

CLI based tool to walk a user through generating and starting up a web server. Will still need to put .cer files into the certificate folder. (optional).
python main.py

Just Web Server

Both the profile xml file and the RADIUS server .cer file will need to be supplied.
Profiles
/profiles/<profile>.xml
Certificates
/certificates/<certificate>.cer
Start web server
python -m uvicorn --host 0.0.0.0 restapi:app

Uploading to Android

Using chrome navigate to http://{serverIP}:8000/passpoint.config?profile={profile.xml}&certificate={certificate}
This should prompt you to install the profile. If there was any error the Android device will return a generic error.

Additional tool

For examples on using the API navigate to http://{serverIP}:8000/docs

About

Tool to help generate Android Passpoint (802.11u) profiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%