export type KeyAgreeRecipientInfoParameters = PkiObjectParameters & Partial<IKeyAgreeRecipientInfo>;
/** * Represents the KeyAgreeRecipientInfo structure described in [RFC5652](https://datatracker.ietf.org/doc/html/rfc5652)
*/
export class KeyAgreeRecipientInfo extends PkiObject implements IKeyAgreeRecipientInfo {
public version!: number; public originator!: OriginatorIdentifierOrKey; public ukm?: asn1js.OctetString; public keyEncryptionAlgorithm!: AlgorithmIdentifier; public recipientEncryptedKeys!: RecipientEncryptedKeys; public recipientCertificate!: Certificate; public recipientPublicKey!: CryptoKey | null;
/** * Initializes a new instance of the {@link KeyAgreeRecipientInfo} class * @param parameters Initialization parameters
*/
constructor(parameters: KeyAgreeRecipientInfoParameters = {}) { super();
if (parameters.schema) { this.fromSchema(parameters.schema);
}
}
/** * Returns default values for all class members * @param memberName String name for a class member * @returns Default value
*/ publicstatic override defaultValues(memberName: typeof VERSION): number; publicstatic override defaultValues(memberName: typeof ORIGINATOR): OriginatorIdentifierOrKey; publicstatic override defaultValues(memberName: typeof UKM): asn1js.OctetString; publicstatic override defaultValues(memberName: typeof KEY_ENCRYPTION_ALGORITHM): AlgorithmIdentifier; publicstatic override defaultValues(memberName: typeof RECIPIENT_ENCRYPTED_KEY): RecipientEncryptedKeys; publicstatic override defaultValues(memberName: typeof RECIPIENT_CERTIFICATE): Certificate; publicstatic override defaultValues(memberName: typeof RECIPIENT_PUBLIC_KEY): null; publicstatic override defaultValues(memberName: string): any { switch (memberName) { case VERSION: return0; case ORIGINATOR: returnnew OriginatorIdentifierOrKey(); case UKM: returnnew asn1js.OctetString(); case KEY_ENCRYPTION_ALGORITHM: returnnew AlgorithmIdentifier(); case RECIPIENT_ENCRYPTED_KEY: returnnew RecipientEncryptedKeys(); case RECIPIENT_CERTIFICATE: returnnew Certificate(); case RECIPIENT_PUBLIC_KEY: returnnull; default: returnsuper.defaultValues(memberName);
}
}
/** * Compare values with default values for all class members * @param memberName String name for a class member * @param memberValue Value to compare with default value
*/ publicstatic compareWithDefault(memberName: string, memberValue: any): boolean { switch (memberName) { case VERSION: return (memberValue === 0); case ORIGINATOR: return ((memberValue.variant === (-1)) && (("value" in memberValue) === false)); case UKM: return (memberValue.isEqual(KeyAgreeRecipientInfo.defaultValues(UKM))); case KEY_ENCRYPTION_ALGORITHM: return ((memberValue.algorithmId === EMPTY_STRING) && (("algorithmParams" in memberValue) === false)); case RECIPIENT_ENCRYPTED_KEY: return (memberValue.encryptedKeys.length === 0); case RECIPIENT_CERTIFICATE: returnfalse; // For now leave it as is case RECIPIENT_PUBLIC_KEY: returnfalse; default: returnsuper.defaultValues(memberName);
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.