Sono obbligato a scrivere un fornitore JCE. Ho imparato che ho bisogno di usare l'implementazione della camera bianca del castello gonfiabile. Potresti dirmi per cosa significa "implementazione di clean room" in questo contesto?Provider Java JCE: cosa significa "implementazione di clean room"?
risposta
Implementazione clean room significa in questo contesto che il codice è stato scritto solo dalla descrizione e dalle specifiche, ma non dall'accesso a codici potenzialmente problematici.
Questo è importante in quanto il codice sorgente Sun era precedentemente sotto una licenza che era incompatibile con le distribuzioni GPL in particolare. Garantendo che il codice non sia stato scritto senza alcun accesso a tale codice, è garantito che in futuro la licenza Sun non potrà essere trovata applicabile all'implementazione della clean room e quindi nuovamente incompatibile con la licenza GPL o con altre restrizioni.
In altre parole, è una garanzia che la licenza mostrata sarà valida.
Nonostante il nome, la maggior parte delle re-implementazioni viene eseguita in stanze con lattine di birra e scatole per la pizza per lo più vuote. Si tratta di un'esperienza del passato, capita :-)
Tuttavia, nel contesto dello sviluppo dei chip, una stanza pulita è quella in cui piccole imperfezioni (come la polvere) possono causare seri problemi su scala nanometrica. Quindi sono mantenuti incredibilmente puliti, con depuratori d'aria, tute protettive (protezione dell'ambiente, non chi li indossa) ecc.
Per analogia, lo sviluppo di una stanza pulita software viene eseguito senza alcun accesso a imperfezioni che potrebbero causare problemi. Nel caso di software open source, questo significa non avere accesso a un'implementazione che potrebbe essere "macchiata" da una licenza incompatibile. (Non è solo GPL, ma questo è comunemente citato a causa della sua natura virale). Tuttavia, questo si applica anche ai progetti di reverse engineering di origine chiusa, come la creazione del BIOS compatibile IBM che ha aperto il mercato ai cloni IBM negli anni '80.
- 1. JCE non può autenticare il provider BC nell'applicazione java swing
- 2. Che cosa significa il parametro -clean nell'IDE di Eclipse?
- 3. Cosa fa esattamente "setup.py clean"?
- 4. Cosa significa line.split (",") [1] significa [Java]?
- 5. node.js Implementazione provider OpenID
- 6. Cosa significa "sincronizzato" in Java?
- 7. In Java, cosa significa NaN?
- 8. Perché le persone usano bouncycastle invece del provider JCE integrato in Java? Qual è la differenza?
- 9. Implementazione del provider OAuth 2.0 utilizzando Coldfusion
- 10. Che cosa significa assegnazione di oggetti Java?
- 11. Proprietà "user.dir" di Java: cosa significa esattamente?
- 12. Cosa fa effettivamente XCode 'Clean'?
- 13. Cosa significa "contratto" di una classe significa
- 14. Che cosa significa "Weatherman pubblico (Integer ... cerniere) {" significa in java
- 15. Cosa significa/#!/Significa nell'URL?
- 16. Cosa significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 17. Cosa significa require ('../') significa?
- 18. Cosa significa || = significa?
- 19. Cosa significa: significa?
- 20. javascript: cosa significa/* @ @ */significa?
- 21. in java cosa significa il simbolo @?
- 22. Cosa significa '::' significa?
- 23. Cosa significa "m" nel codice java
- 24. Che cosa significa il simbolo @ in java?
- 25. Che cosa significa Exploded Development? (In Java)
- 26. Cosa significa "qualificato questo" in java?
- 27. In java -D cosa significa la D?
- 28. Che cosa significa Static {} nella sintassi Java?
- 29. Cosa significa (+ var) significa
- 30. Cosa significa tilde (~) nella traccia java stack?
Devo installare l'implementazione del codice pulito prima di scrivere il mio provider. destra ? –
Avrete bisogno di un framework JCE installato, oppure il codice di supporto non è presente. BouncyCastle usa la licenza MIT X11, che è tanto buona quanto in termini di riutilizzo, in modo che tu possa dare un'occhiata al loro codice quanto vuoi per scrivere il tuo, senza influenzare la licenza del tuo prodotto finito. –
Il problema è che i provider JCE devono essere firmati da Sun * se * si utilizza JRE di Sun. Suppongo che se usi un'implementazione JCE di terze parti che non impone questo, allora sei ok. È importante distinguere tra il JCE e i fornitori del JCE. Un esempio di classe JCE è la classe MessageDigest. Il provider contiene le implementazioni dei digest effettivi, come SHA1, che vengono recuperati tramite i metodi factory getInstance. Bouncycastle che conosco fornisce un fornitore firmato, non lo faccio se forniscono comunque un framework JCE. –