Rumah >hujung hadapan web >tutorial js >Pembelajaran saya melalui mesej ralat 'ralat: rutin sampul surat digital:: tidak disokong'

Pembelajaran saya melalui mesej ralat 'ralat: rutin sampul surat digital:: tidak disokong'

Barbara Streisand
Barbara Streisandasal
2024-12-25 09:24:09812semak imbas

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.

My learnings through Error message “error:digital envelope routines::unsupported”

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn