You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					24 lines
				
				614 B
			
		
		
			
		
	
	
					24 lines
				
				614 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const inherits = require('inherits');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const DEREncoder = require('./der');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function PEMEncoder(entity) {
							 | 
						||
| 
								 | 
							
								  DEREncoder.call(this, entity);
							 | 
						||
| 
								 | 
							
								  this.enc = 'pem';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								inherits(PEMEncoder, DEREncoder);
							 | 
						||
| 
								 | 
							
								module.exports = PEMEncoder;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								PEMEncoder.prototype.encode = function encode(data, options) {
							 | 
						||
| 
								 | 
							
								  const buf = DEREncoder.prototype.encode.call(this, data);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  const p = buf.toString('base64');
							 | 
						||
| 
								 | 
							
								  const out = [ '-----BEGIN ' + options.label + '-----' ];
							 | 
						||
| 
								 | 
							
								  for (let i = 0; i < p.length; i += 64)
							 | 
						||
| 
								 | 
							
								    out.push(p.slice(i, i + 64));
							 | 
						||
| 
								 | 
							
								  out.push('-----END ' + options.label + '-----');
							 | 
						||
| 
								 | 
							
								  return out.join('\n');
							 | 
						||
| 
								 | 
							
								};
							 |