Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section
bordertrue
Column
width40px

Column
width680px

Muut kryptografiset toteutukset

Omien kryptografisten toteutuksien tekemistä tulee välttää. Käytettäessä kryptografisia kirjastoja on suositeltavaa käyttää tunnettuja ja aktiivisesti ylläpidettyjä kirjastoja, jotka tarjoavat korkean tason rajapinnat kryptografisiin operaatioihin. Matalan tason kryptografisten primitiivien käyttöä tulee välttää.

Algoritmi- ja avainpituusvalinnoissa seurataan TLS 1.2:n valintojen periaatteita, jotka on määritetty luvussa 12.1.4 Salausalgoritmit.

Alla on esimerkkejä satunnaisen tunnisteen luomiseen eri ohjelmointikielillä. Esimerkit saattavat olla osin vanhentuneita, siksi satunnaista tunnistetta luodessa tuleekin noudattaa periaatetta, jonka mukaan tunnisteen pituudeksi tulee määrittää vähintään 32 tavua / 256 bittiä.

Lisäksi on suositeltavaa selvittää käytettävän ohjelmointikielen omasta dokumentaatiosta tai muusta luotettavasta lähteestä ajantasainen ja turvallinen kryptografinen menetelmä ja/tai kirjasto, jota voi käyttää satunnaisen tunnisteen luontiin.


Code Block
languagejava
titleJava
import java.util.SecureRandom;
SecureRandom random = new SecureRandom();
byte bytes[] = new byte[32];
random.nextBytes(bytes);


Code Block
languagepy
titlePython 3.6 ja uudemmat
# Python 3.6 ja uudemmat
import secrets
secrets.token_urlsafe()

# Python ennen versiota 3.6
import random
generator = random.SystemRandom()
generator.getrandbits(256)


Code Block
languagejs
titleJavaScript
var array = new Uint32Array(8);
window.crypto.getRandomValues(array).join("");




Section
Column
width765px
Panel
borderWidth0
titleLisätietoa ja ohjeita







Section
Column
width720px


Column
width360px

< 1112.1.4 Salausalgoritmit

Column
width360px

1112.3 HTTP >