PrivateKey
A P-256 private key used to create cryptographic signatures.
- iOS
- 13+
- macOS
- 10.15+
- tvOS
- 13+
- watchOS
- 6+
struct PrivateKey
A P-256 private key used to create cryptographic signatures.
struct PrivateKey
import Crypto
A cryptography library for Swift.
enum Signing
A mechanism used to create or verify a cryptographic signature using the NIST P-256 elliptic curve digital signature algorithm (ECDSA).
enum P256
An elliptic curve that enables NIST P-256 signatures and key agreement.
struct ECDSASignature
A P-256 elliptic curve digital signature algorithm (ECDSA) signature.
struct PublicKey
A P-256 public key used to verify cryptographic signatures.
protocol Copyable
A type whose values can be implicitly or explicitly copied.
protocol Escapable
init(compactRepresentable: Bool = true)
Creates a random P-256 private key for signing.
init<Bytes>(derRepresentation: Bytes) throws where Bytes : RandomAccessCollection, Bytes.Element == UInt8
Creates a P-256 private key for signing from a Distinguished Encoding Rules (DER) encoded representation.
init(pemRepresentation: String) throws
Creates a P-256 private key for signing from a Privacy-Enhanced Mail PEM) representation.
init<Bytes>(rawRepresentation: Bytes) throws where Bytes : ContiguousBytes
Creates a P-256 private key for signing from a collection of bytes.
init<Bytes>(x963Representation: Bytes) throws where Bytes : ContiguousBytes
Creates a P-256 private key for signing from an ANSI x9.63 representation.
var derRepresentation: Data { get }
A Distinguished Encoding Rules (DER) encoded representation of the private key.
var pemRepresentation: String { get }
A Privacy-Enhanced Mail (PEM) representation of the private key.
var publicKey: P256.Signing.PublicKey { get }
The corresponding public key.
var rawRepresentation: Data { get }
A data representation of the private key.
var x963Representation: Data { get }
An ANSI x9.63 representation of the private key.
func signature<D>(for data: D) throws -> P256.Signing.ECDSASignature where D : DataProtocol
Generates an Elliptic Curve Digital Signature Algorithm (ECDSA) signature of the data you provide over the P-256 elliptic curve, using SHA-256 as the hash function.
func signature<D>(for digest: D) throws -> P256.Signing.ECDSASignature where D : Digest
Generates an Elliptic Curve Digital Signature Algorithm (ECDSA) signature of the digest you provide over the P-256 elliptic curve.