Warning: session_start(): open(/var/lib/php/sessions/sess_nt2v3mrtojc7tpqou6ovqjm6fr, 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
!include once #1030462 // BouncyCastle
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);
}
KeyPair keyPair = generateKeyPair();
ECPublicKey publicKey = cast keyPair.getPublic();
ECPrivateKey privateKey = cast keyPair.getPrivate();
byte[] encodedPublicKey = nl.martijndwars.webpush.Utils.encode(publicKey);
byte[] encodedPrivateKey = nl.martijndwars.webpush.Utils.encode(privateKey);
print("Public key: " + base64encode(encodedPublicKey));
print("Private key: " + shorten(16, base64encode(encodedPrivateKey)));
}
}