Warning: session_start(): open(/var/lib/php/sessions/sess_hqe0v0ddb8peu9b1hcm9n0ejng, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
lib 1011969 lib 1011968 // bouncycastle
static LS _stickyLibs_bouncyCastle = ll(#1011969, #1011968);
lib 1400450 // web-push-5.1.1
import org.bouncycastle.jce.ECNamedCurveTable;
import org.bouncycastle.jce.interfaces.ECPrivateKey;
import org.bouncycastle.jce.interfaces.ECPublicKey;
import org.bouncycastle.jce.spec.ECNamedCurveParameterSpec;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
cprint {
KeyPair generateKeyPair() ctex {
ECNamedCurveParameterSpec parameterSpec = ECNamedCurveTable.getParameterSpec(nl.martijndwars.webpush.Utils.CURVE);
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(nl.martijndwars.webpush.Utils.ALGORITHM,
org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
keyPairGenerator.initialize(parameterSpec);
ret keyPairGenerator.generateKeyPair();
}
start-thread {
Provider provider = Security.getProvider(org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
print("Provider:" + provider);
if (provider == null) {
Security.addProvider(new BouncyCastleProvider);
provider = Security.getProvider(org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME);
print("Provider:" + provider);
}
print("Key pair: " + generateKeyPair());
ECPublicKey publicKey = cast keyPair.getPublic();
ECPrivateKey privateKey = cast keyPair.getPrivate();
byte[] encodedPublicKey = nl.martijndwars.webpush.Utils.Utils.encode(publicKey);
byte[] encodedPrivateKey = nl.martijndwars.webpush.Utils.Utils.encode(privateKey);
print("Public key: " + base64encode(encodedPublicKey));
print("Private key: " + shorten(16, base64encode(encodedPrivateKey)));
}
}