Protection Domain (pdmn) | Keychain Accessibility Values |
---|---|
ck |
kSecAttrAccessibleAfterFirstUnlock |
cku |
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly |
dk |
kSecAttrAccessibleAlways |
akpu |
kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly |
The project I worked on this summer was divided into two major parts. First, I optimized the cryptography parallelism of the in-kernel WireGuard implementation. My goal was to improve overall speed, increase multi-core scalability, and fix some hard-to-reproduce race conditions. I spent the second half of the summer writing an Android application that serves as a convenient GUI frontend for WireGuard. My vision for the app was to be simple, yet very functional.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.arch.lifecycle.LiveData | |
import android.arch.lifecycle.MediatorLiveData | |
import android.arch.lifecycle.MutableLiveData | |
fun <X, Y> LiveData<X>.map(func: (X?) -> Y?): MutableLiveData<Y?> { | |
return MediatorLiveData<Y>().apply { | |
addSource(this@map) { x -> value = func(x) } | |
} | |
} |
This cheat sheet came into life when I started working on a tutorial of setting up one way tls and two way tls, which can be found here: GitHub - Mutual TLS SSL
Generate a Java keystore and key pair
keytool -genkeypair -keyalg RSA -keysize 2048 -keystore keystore.jks -alias server -validity 3650