Add keys to instance_settings

This commit is contained in:
Mirai Kumiko 2025-06-12 11:10:24 +02:00
parent da4cdc612a
commit f3c35e8e55
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
5 changed files with 52 additions and 10 deletions

16
lib/nulla/key_gen.ex Normal file
View file

@ -0,0 +1,16 @@
defmodule Nulla.KeyGen do
def generate_keys do
rsa_key = :public_key.generate_key({:rsa, 2048, 65537})
{:RSAPrivateKey, :"two-prime", n, e, _d, _p, _q, _dp, _dq, _qi, _other} = rsa_key
public_key = {:RSAPublicKey, n, e}
private_entry = {:PrivateKeyInfo, :public_key.der_encode(:RSAPrivateKey, rsa_key), :not_encrypted}
public_entry = {:SubjectPublicKeyInfo, :public_key.der_encode(:RSAPublicKey, public_key), :not_encrypted}
private_pem = :public_key.pem_encode([private_entry])
public_pem = :public_key.pem_encode([public_entry])
{public_pem, private_pem}
end
end

View file

@ -11,7 +11,7 @@ defmodule Nulla.Models.InstanceSettings do
field :registration, :boolean, default: false
field :max_characters, :integer, default: 5000
field :max_upload_size, :integer, default: 50
field :offset, :integer, default: 100
field :api_offset, :integer, default: 100
field :public_key, :string
field :private_key, :string
end
@ -26,7 +26,7 @@ defmodule Nulla.Models.InstanceSettings do
:registration,
:max_characters,
:max_upload_size,
:offset,
:api_offset,
:public_key,
:private_key
])
@ -37,7 +37,7 @@ defmodule Nulla.Models.InstanceSettings do
:registration,
:max_characters,
:max_upload_size,
:offset,
:api_offset,
:public_key,
:private_key
])

View file

@ -28,7 +28,7 @@ defmodule Nulla.Utils do
%User{id: user_id} ->
instance_settings = InstanceSettings.get_instance_settings!()
per_page = instance_settings.offset
per_page = instance_settings.api_offset
offset = (page - 1) * per_page
query =
@ -67,7 +67,7 @@ defmodule Nulla.Utils do
%User{id: user_id} ->
instance_settings = InstanceSettings.get_instance_settings!()
per_page = instance_settings.offset
per_page = instance_settings.api_offset
offset = (page - 1) * per_page
query =