Resolve tabbing/indentation issues

This commit is contained in:
decentral1se 2021-04-07 17:18:09 +02:00
parent 44153bc562
commit 5c13b626a8
Signed by: decentral1se
GPG Key ID: 92DAD76BD9567B8A
3 changed files with 37 additions and 36 deletions

View File

@ -1,19 +1,19 @@
from django.contrib import admin from django.contrib import admin
from djangoldp.admin import DjangoLDPAdmin from djangoldp.admin import DjangoLDPAdmin
from .models import VAPIDKeyset from .models import VAPIDKeyset
class VAPIDKeysetAdmin(DjangoLDPAdmin): class VAPIDKeysetAdmin(DjangoLDPAdmin):
readonly_fields = ('public_key_view', 'private_key_view') readonly_fields = ('public_key_view', 'private_key_view')
def public_key_view(self, obj): def public_key_view(self, obj):
return obj.public_key return obj.public_key
def private_key_view(self, obj): def private_key_view(self, obj):
return obj.private_key.tobytes() return obj.private_key.tobytes()
class Meta:
verbose_name = 'VAPID key-set'
class Meta:
verbose_name = 'VAPID key-set'
admin.site.register(VAPIDKeyset, VAPIDKeysetAdmin) admin.site.register(VAPIDKeyset, VAPIDKeysetAdmin)

View File

@ -1,21 +1,21 @@
import ecdsa
from ecdsa import SigningKey
from base64 import urlsafe_b64encode from base64 import urlsafe_b64encode
import ecdsa
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from djangoldp_webpushnotification.models import VAPIDKeyset from djangoldp_webpushnotification.models import VAPIDKeyset
from ecdsa import SigningKey
class Command(BaseCommand): class Command(BaseCommand):
help = "Generate VAPID key pair" help = "Generate VAPID key pair"
def handle(self, *args, **options): def handle(self, *args, **options):
priv_key = SigningKey.generate(curve=ecdsa.NIST256p) priv_key = SigningKey.generate(curve=ecdsa.NIST256p)
VAPIDKeyset.objects.create( VAPIDKeyset.objects.create(
private_key=urlsafe_b64encode(priv_key.to_string()).strip(b"=") private_key=urlsafe_b64encode(priv_key.to_string()).strip(b"=")
) )
self.stdout.write("VAPID Keyset succesfully generated") self.stdout.write("VAPID Keyset succesfully generated")
exit(0) exit(0)

View File

@ -1,24 +1,25 @@
from ecdsa import SigningKey, NIST256p
from django.db import models
from base64 import urlsafe_b64decode, urlsafe_b64encode from base64 import urlsafe_b64decode, urlsafe_b64encode
from django.db import models
from ecdsa import NIST256p, SigningKey
class VAPIDKeyset(models.Model): class VAPIDKeyset(models.Model):
private_key = models.BinaryField(max_length=43) private_key = models.BinaryField(max_length=43)
def __str__(self): def __str__(self):
return "public_key:{}... private_key:{}...".format( return "public_key:{}... private_key:{}...".format(
self.public_key[:10], self.public_key[:10],
self.private_key.tobytes()[:10] self.private_key.tobytes()[:10]
) )
@property @property
def public_key(self): def public_key(self):
key_str = self.private_key.tobytes() key_str = self.private_key.tobytes()
padding = len(key_str) % 4 padding = len(key_str) % 4
key_str += b"=" * padding key_str += b"=" * padding
key = SigningKey.from_string( key = SigningKey.from_string(
urlsafe_b64decode(key_str), urlsafe_b64decode(key_str),
curve=NIST256p curve=NIST256p
).get_verifying_key() ).get_verifying_key()
return urlsafe_b64encode(b"\x04" + key.to_string()).strip(b"=") return urlsafe_b64encode(b"\x04" + key.to_string()).strip(b"=")