Semasa saya sedang mengusahakan aplikasi tindanan penuh saya, saya terjumpa ralat kriptografi ini dan apabila saya mencarinya di StackOverflow dan ChatGPT, saya mendapat tahu ia timbul kerana perubahan dalam pengendalian Node.js terhadap OpenSSL, yang menjejaskan operasi kriptografi, iaitu, aplikasi saya cuba menggunakan algoritma atau ciri kriptografi yang tidak lagi disokong dalam versi OpenSSL semasa yang digabungkan dengan Node.js. Jadi, ralat sebenarnya datang daripada pergantungan yang saya muat turun bergantung pada versi SSL yang usang.
Selepas itu, untuk membetulkan ralat ini :
Pada mulanya, saya cuba memadamkan folder node_modules saya (daripada bahagian hadapan
ruang kerja/folder) dan jalankan semula pemasangan npm untuk memasang semula
kebergantungan. Walau bagaimanapun, ini tidak menyelesaikan isu.
Kemudian, saya kini faham bahawa saya sepatutnya menukar yang tidak digunakan
algoritma kepada mod lama untuk menyelesaikan isu keserasian.
Dan, semasa melayari mengenai algoritma yang telah ditamatkan, saya mendapat
teringat SHA-1 dalam PGP (Pretty Good Privacy) yang saya pelajari dalam
semester sebelumnya di kolej, dalam Rangkaian Komputer. SHA-1 ialah pencincangan
algoritma yang telah menjadi algoritma yang tidak digunakan kerana
isu keselamatan.
Dan meneruskan topik, memandangkan apl saya ialah aplikasi tidak kritikal yang memerlukan sedikit keserasian ke belakang juga, saya memutuskan untuk terus menggunakan bendera --openssl-legacy-provider untuk penyelesaian sementara, kerana ini akan membantu saya ketahui lebih lanjut tentang kemungkinan ralat yang mungkin berlaku, ketahui lebih lanjut tentang punca dan cara menyelesaikannya, bersama-sama dengan pelbagai istilah lain yang mungkin saya hadapi semasa proses itu.
Pembekal --openssl-legacy-mendayakan penggunaan algoritma lama dengan mengarahkan Node.js untuk menggunakan penyedia warisan OpenSSL, dengan itu memulihkan sokongan untuk fungsi kriptografi sedemikian.
Jadi, di terminal, saya mulakan dengan :
npm update npm audit fix — force
Kemudian, pada fail package.json, saya membuat perubahan berikut :
SEBELUM :
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
SELEPAS :
"scripts": { "start": "react-scripts --openssl-legacy-provider start", "build": "react-scripts --openssl-legacy-provider build", "test": "react-scripts test", "eject": "react-scripts eject" }
Sekarang, ini akhirnya menyelesaikan isu ini dan saya suka bagaimana saya maju belajar tentang perkara yang berbeza hanya dengan cuba menyelesaikan sendiri isu ini, belajar tentang cara npm berfungsi secara terperinci, cara versi diuruskan, tentang algoritma yang tidak digunakan dan lama, dsb. .
Atas ialah kandungan terperinci Pembelajaran saya melalui mesej ralat 'ralat: rutin sampul surat digital:: tidak disokong'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!