68 lines
2.1 KiB
Python
68 lines
2.1 KiB
Python
|
# Generated by Django 3.0.3 on 2020-03-03 21:45
|
||
|
|
||
|
import uuid
|
||
|
|
||
|
from django.db import migrations, models
|
||
|
|
||
|
|
||
|
def create_self_signed(apps, schema_editor):
|
||
|
CertificateKeyPair = apps.get_model("passbook_crypto", "CertificateKeyPair")
|
||
|
db_alias = schema_editor.connection.alias
|
||
|
from passbook.crypto.builder import CertificateBuilder
|
||
|
|
||
|
builder = CertificateBuilder()
|
||
|
builder.build()
|
||
|
CertificateKeyPair.objects.using(db_alias).create(
|
||
|
name="passbook Self-signed Certificate",
|
||
|
certificate_data=builder.certificate,
|
||
|
key_data=builder.private_key,
|
||
|
)
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
initial = True
|
||
|
|
||
|
dependencies = []
|
||
|
|
||
|
operations = [
|
||
|
migrations.CreateModel(
|
||
|
name="CertificateKeyPair",
|
||
|
fields=[
|
||
|
("created", models.DateTimeField(auto_now_add=True)),
|
||
|
("last_updated", models.DateTimeField(auto_now=True)),
|
||
|
(
|
||
|
"uuid",
|
||
|
models.UUIDField(
|
||
|
default=uuid.uuid4,
|
||
|
editable=False,
|
||
|
primary_key=True,
|
||
|
serialize=False,
|
||
|
),
|
||
|
),
|
||
|
("name", models.TextField()),
|
||
|
("certificate_data", models.TextField()),
|
||
|
("key_data", models.TextField(blank=True, default="")),
|
||
|
],
|
||
|
options={
|
||
|
"verbose_name": "Certificate-Key Pair",
|
||
|
"verbose_name_plural": "Certificate-Key Pairs",
|
||
|
},
|
||
|
),
|
||
|
migrations.RunPython(create_self_signed),
|
||
|
migrations.AlterField(
|
||
|
model_name="certificatekeypair",
|
||
|
name="certificate_data",
|
||
|
field=models.TextField(help_text="PEM-encoded Certificate data"),
|
||
|
),
|
||
|
migrations.AlterField(
|
||
|
model_name="certificatekeypair",
|
||
|
name="key_data",
|
||
|
field=models.TextField(
|
||
|
blank=True,
|
||
|
default="",
|
||
|
help_text="Optional Private Key. If this is set, you can use this keypair for encryption.",
|
||
|
),
|
||
|
),
|
||
|
]
|