Class XMSS
- java.lang.Object
-
- org.bouncycastle.jcajce.provider.asymmetric.XMSS
-
public class XMSS extends java.lang.ObjectThe XMSS and XMSS^MT (RFC 8391, SP 800-208) services of the BC provider. The BC provider has carried the key info converters for these algorithms for some time - so that a certificate or a PKCS#8 key naming one could be parsed - but the KeyFactory, KeyPairGenerator and Signature services were only in BCPQC. The service names and OID aliases registered here are the same as the BCPQC ones, and both providers drive the same SPI classes.That makes this class a near copy of
org.bouncycastle.pqc.jcajce.provider.XMSS, and the copy is deliberate: the two providers keep independent service tables, and the pairjcajce.provider.asymmetric.LMS/pqc.jcajce.provider.LMS- the sibling stateful scheme, promoted the same way - is the same file twice under two package names. A shared table between the two would be a shape this provider does not otherwise have.The
registerOidcalls at the end also install the six key info converters thatBouncyCastleProvider.loadPQCKeys()installs, which runs after this and so is the one whose entry survives - the same class either way. That overlap is not an XMSS accident either:jcajce.provider.asymmetric.NTRUregisters the four NTRU OIDs thatloadPQCKeysalso registers. WhatregisterOidadds over it is theAlg.Alias.KeyFactoryandAlg.Alias.KeyPairGeneratorentries for each OID, whichloadPQCKeysdoes not write, so neither of the two is redundant in the other.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classXMSS.Mappings
-
Constructor Summary
Constructors Constructor Description XMSS()
-