mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Vitaly Chikunov](/assets/img/avatar_default.png)
Some public key algorithms (like EC-DSA) keep in parameters field important data such as digest and curve OIDs (possibly more for different EC-DSA variants). Thus, just setting a public key (as for RSA) is not enough. Append parameters into the key stream for akcipher_set_{pub,priv}_key. Appended data is: (u32) algo OID, (u32) parameters length, parameters data. This does not affect current akcipher API nor RSA ciphers (they could ignore it). Idea of appending parameters to the key stream is by Herbert Xu. Cc: David Howells <dhowells@redhat.com> Cc: Denis Kenzior <denkenz@gmail.com> Cc: keyrings@vger.kernel.org Signed-off-by: Vitaly Chikunov <vt@altlinux.org> Reviewed-by: Denis Kenzior <denkenz@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
60 lines
1.7 KiB
Groff
60 lines
1.7 KiB
Groff
Certificate ::= SEQUENCE {
|
|
tbsCertificate TBSCertificate ({ x509_note_tbs_certificate }),
|
|
signatureAlgorithm AlgorithmIdentifier,
|
|
signature BIT STRING ({ x509_note_signature })
|
|
}
|
|
|
|
TBSCertificate ::= SEQUENCE {
|
|
version [ 0 ] Version DEFAULT,
|
|
serialNumber CertificateSerialNumber ({ x509_note_serial }),
|
|
signature AlgorithmIdentifier ({ x509_note_pkey_algo }),
|
|
issuer Name ({ x509_note_issuer }),
|
|
validity Validity,
|
|
subject Name ({ x509_note_subject }),
|
|
subjectPublicKeyInfo SubjectPublicKeyInfo,
|
|
issuerUniqueID [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
subjectUniqueID [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
extensions [ 3 ] Extensions OPTIONAL
|
|
}
|
|
|
|
Version ::= INTEGER
|
|
CertificateSerialNumber ::= INTEGER
|
|
|
|
AlgorithmIdentifier ::= SEQUENCE {
|
|
algorithm OBJECT IDENTIFIER ({ x509_note_OID }),
|
|
parameters ANY OPTIONAL ({ x509_note_params })
|
|
}
|
|
|
|
Name ::= SEQUENCE OF RelativeDistinguishedName
|
|
|
|
RelativeDistinguishedName ::= SET OF AttributeValueAssertion
|
|
|
|
AttributeValueAssertion ::= SEQUENCE {
|
|
attributeType OBJECT IDENTIFIER ({ x509_note_OID }),
|
|
attributeValue ANY ({ x509_extract_name_segment })
|
|
}
|
|
|
|
Validity ::= SEQUENCE {
|
|
notBefore Time ({ x509_note_not_before }),
|
|
notAfter Time ({ x509_note_not_after })
|
|
}
|
|
|
|
Time ::= CHOICE {
|
|
utcTime UTCTime,
|
|
generalTime GeneralizedTime
|
|
}
|
|
|
|
SubjectPublicKeyInfo ::= SEQUENCE {
|
|
algorithm AlgorithmIdentifier,
|
|
subjectPublicKey BIT STRING ({ x509_extract_key_data })
|
|
}
|
|
|
|
UniqueIdentifier ::= BIT STRING
|
|
|
|
Extensions ::= SEQUENCE OF Extension
|
|
|
|
Extension ::= SEQUENCE {
|
|
extnid OBJECT IDENTIFIER ({ x509_note_OID }),
|
|
critical BOOLEAN DEFAULT,
|
|
extnValue OCTET STRING ({ x509_process_extension })
|
|
}
|